Befüllung des Indexes per Webservice

Webservice zur Datenbefüllung

Alternativ zur Befüllung des Zählpunktindex per CSV oder aus verschiedenen SAP-Systemen ist es auch möglich, den Index über einen Webservice zu befüllen. Dieser Webservice stellt aktuell eine Methode zur Übergabe von Zählpunktdaten zur Verfügung.

Auslieferung

Der Webservice ist ein Content, welcher durch NLI bereitgestellt werden kann.

Einrichtung

Die Einrichtung und Konfiguration des Webservices ist in folgender Dokumentation allgemein beschrieben:

Webservice (Receiver)

WSDL

<?xml version="1.0"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://nextlevel.com/webservices/systemsplit" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://nextlevel.com/webservices/systemsplit" name="SystemsplitService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<xsd:schema xmlns:tns="http://nextlevel.com/webservices/systemsplit" targetNamespace="http://nextlevel.com/webservices/systemsplit" attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0">

<xsd:complexType name="MeteringLocationNr">
<xsd:simpleContent>
<xsd:extension base="xsd:string"></xsd:extension>
</xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="MeteringLocationNrList">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="minimalMeteringLocation" type="tns:MinimalMeteringLocation">
<xsd:annotation>
<xsd:documentation>List of MinimalMeteringLocation, may be empty.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="MinimalMeteringLocation">
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element name="meteringLocationNr" type="tns:MeteringLocationNr"></xsd:element>
<xsd:element name="mandant" type="xsd:string"></xsd:element>
<xsd:element name="system" type="xsd:string"></xsd:element>
<xsd:element name="startTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive start time of the time range for which to meteringlocation holds.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive end time for the meteringlocation to hold.Must be larger or equal to startTime!</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AddressLocation">
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element name="address" type="xsd:string"></xsd:element>
<xsd:element name="mandant" type="xsd:string"></xsd:element>
<xsd:element name="system" type="xsd:string"></xsd:element>
<xsd:element name="startTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive start time of the time range for whichto addresslocation holds.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive end time for the addresslocation to hold.Must be larger or equal to startTime!</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="BalancedMeteringLocation">
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element name="meteringLocationNr" type="tns:MeteringLocationNr"></xsd:element>
<xsd:element name="mandant" type="xsd:string"></xsd:element>
<xsd:element name="system" type="xsd:string"></xsd:element>
<xsd:element name="startBalanceTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive start time of the time range for whichto meteringlocation holds.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endBalanceTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive end time for the meteringlocation to hold.Must be larger or equal to startTime!</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="startTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive start time of the time range for which to meteringlocation holds.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="endTime" type="xsd:dateTime">
<xsd:annotation>
<xsd:documentation>The inclusive end time for the meteringlocation to hold. Must be larger or equal to startTime!</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SystemsplitServiceFault" type="xsd:string" />
</xsd:schema>
</types>

<message name="addAddressLocationRequest">
<part name="addressLocation" type="tns:AddressLocation">
<documentation></documentation>
</part>
</message>
<message name="addAddressLocationResponse">
</message>

<message name="addMeteringlocationRequest">
<part name="minimalMeteringLocation" type="tns:MinimalMeteringLocation">
<documentation></documentation>
</part>
</message>
<message name="addMeteringlocationResponse">
</message>

<message name="addMeteringlocationListRequest">
<part name="meteringLocationList" type="tns:MeteringLocationNrList">
<documentation></documentation>
</part>
</message>
<message name="addMeteringlocationListResponse">
</message>

<message name="addBalancedMeteringLocationRequest">
<part name="balancedMeteringLocation" type="tns:BalancedMeteringLocation">
<documentation></documentation>
</part>
</message>
<message name="addBalancedMeteringLocationResponse">
</message>

<message name="SystemsplitServiceException">
<part name="message" element="tns:SystemsplitServiceFault">
<documentation>An internal exception of the b2bbp engine occurred.</documentation>
</part>
</message>

<portType name="SystemsplitService">
<documentation>This message service provides an interface to the NLI-Systemsplit-Component.Specifically it provides methods to modify the systemsplit-index.</documentation>
<operation name="addMeteringlocation">
<documentation>Method to add a meteringlocation to the meteringpoint-index.</documentation>
<input message="tns:addMeteringlocationRequest"></input>
<output message="tns:addMeteringlocationResponse"></output>
<fault name="SystemsplitServiceFault" message="tns:SystemsplitServiceException">
<documentation></documentation>
</fault>
</operation>
<operation name="addMeteringlocationList">
<documentation>Method to add a List of meteringlocation to the meteringpoint-index.</documentation>
<input message="tns:addMeteringlocationListRequest"></input>
<output message="tns:addMeteringlocationListResponse"></output>
<fault name="SystemsplitServiceFault" message="tns:SystemsplitServiceException">
<documentation></documentation>
</fault>
</operation>
<operation name="addAddressLocation">
<documentation>Method to add a addresslocation(PLZ) to the index.</documentation>
<input message="tns:addAddressLocationRequest"></input>
<output message="tns:addAddressLocationResponse"></output>
<fault name="SystemsplitServiceFault" message="tns:SystemsplitServiceException">
<documentation></documentation>
</fault>
</operation>
<operation name="addBalancedMeteringLocation">
<documentation>Method to add a Balance Date MeteringLocation to the meteringpoint-index.</documentation>
<input message="tns:addBalancedMeteringLocationRequest"></input>
<output message="tns:addBalancedMeteringLocationResponse"></output>
<fault name="SystemsplitServiceFault" message="tns:SystemsplitServiceException">
<documentation></documentation>
</fault>
</operation>
</portType>


<binding name="SystemsplitServiceBinding" type="tns:SystemsplitService">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

<operation name="addMeteringlocation">
<soap:operation soapAction="http://nextlevel.com/webservices/systemsplit/addMeteringlocation" />
<input>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</input>
<output>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</output>
<fault name="SystemsplitServiceFault">
<soap:fault use="literal" name="SystemsplitServiceFault" />
</fault>
</operation>
<operation name="addMeteringlocationList">
<soap:operation soapAction="http://nextlevel.com/webservices/systemsplit/addMeteringlocationList" />
<input>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</input>
<output>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</output>
<fault name="SystemsplitServiceFault">
<soap:fault use="literal" name="SystemsplitServiceFault" />
</fault>
</operation>
<operation name="addAddressLocation">
<soap:operation soapAction="http://nextlevel.com/webservices/systemsplit/addAddressLocation" />
<input>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</input>
<output>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</output>
<fault name="SystemsplitServiceFault">
<soap:fault use="literal" name="SystemsplitServiceFault" />
</fault>
</operation>
<operation name="addBalancedMeteringLocation">
<soap:operation soapAction="http://nextlevel.com/webservices/systemsplit/addBalancedMeteringLocation" />
<input>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</input>
<output>
<soap:body use="literal" namespace="http://nextlevel.com/webservices/systemsplit" />
</output>
<fault name="SystemsplitServiceFault">
<soap:fault use="literal" name="SystemsplitServiceFault" />
</fault>
</operation>
</binding>

<service name="SystemsplitService">
<port name="SystemsplitServicePort" binding="tns:SystemsplitServiceBinding">
<soap:address location="http://localhost/" />
</port>
</service>
</definitions>

Indizierung der übergebenen Daten

Zur tatsächlichen Indizierung ist ein Index Service notwendig.

Index Service

XML Beispiel (z.B. für Wfetch).

addBalancedMeteringLocation Beispiel (ZP-Index wird für Filter "balance_mtr", "mtr_max_service_and_balance_timeslice" benutzt):

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/wsdl/soap/">\r\n
<soap:Body xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:addBalancedMeteringLocation>\r\n
<tns:balancedMeteringLocation xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:meteringLocationNr>DE9999999999999999999999999999999</tns:meteringLocationNr>\r\n
<tns:mandant>MAN</tns:mandant>\r\n
<tns:system>SYS</tns:system>\r\n
<tns:startTime>2018-07-15T00:00:00Z</tns:startTime>\r\n
<tns:endTime>2019-07-16T00:00:00Z</tns:endTime>\r\n
<tns:startBalanceTime>2018-07-15T00:00:00Z</tns:startBalanceTime>\r\n
<tns:endBalanceTime>2019-07-16T00:00:00Z</tns:endBalanceTime>\r\n
</tns:balancedMeteringLocation>\r\n
</tns:addBalancedMeteringLocation>\r\n
</soap:Body>\r\n
</soap:Envelope>
addAddressLocation Beispiel (ZP-Index wird für Filter adress_assignment benutzt):

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/wsdl/soap/">\r\n
<soap:Body xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:addAddressLocation>\r\n
<tns:addressLocation xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:address>51375</tns:address>\r\n
<tns:mandant>MAN</tns:mandant>\r\n
<tns:system>SYS</tns:system>\r\n
<tns:startTime>2017-07-15T00:00:00Z</tns:startTime>\r\n
<tns:endTime>2019-07-16T00:00:00Z</tns:endTime>\r\n
</tns:addressLocation>\r\n
</tns:addAddressLocation>\r\n
</soap:Body>\r\n
</soap:Envelope>
addMeteringlocation Beispiel (ZP-Index wird für Filter mtr benutzt (standard)):

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/wsdl/soap/">\r\n
<soap:Body xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:addMeteringlocation>\r\n
<tns:minimalMeteringLocation xmlns:tns="http://nextlevel.com/webservices/systemsplit">\r\n
<tns:meteringLocationNr>DE9999999999999999999999999999999</tns:meteringLocationNr>\r\n
<tns:mandant>MAN</tns:mandant>\r\n
<tns:system>SYS</tns:system>\r\n
<tns:startTime>2018-07-15T00:00:00Z</tns:startTime>\r\n
<tns:endTime>2019-07-16T00:00:00Z</tns:endTime>\r\n
</tns:minimalMeteringLocation>\r\n
</tns:addMeteringlocation>\r\n
</soap:Body>\r\n
</soap:Envelope>
View Me   Edit Me