Webservice zur Abfrage einer CONTRL-Referenz

Webservice zur Abfrage einer CONTRL-Referenz

Der Messages-Webservice ermöglicht die Abfrage der CONTRL-Reference-Id zu einer Nachricht.

Als Anfrage-Parameter müssen die MPID des Senders, die MPID des Empfängers sowie die Dateiaustauschreferenz (UNB-Referenz) der Nachweisnachricht übergeben werden.
Als Antwort liefert der WebService die Dateiaustauschreferenz (UNB-Referenz) der positiven CONTRL auf diese Nachricht, falls diese im System gefunden wurde. Der Webservice liefert also keine Antwort, falls die CONTRL noch nicht eingetroffen oder Ablehnung ist.
Es können auch mehrere CONTRL-Referenzen in einem Aufruf angefragt werden.

Auslieferung

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

Einrichtung

Die Einrichtung und Konfiguration der Webservices ist in folgender Dokumentation allgemein beschrieben: Webservice (Receiver)

Folgende Konfiguration kann benutzt werden:

Eigenschaft Wert Beschreibung
Provider NLI  
Version 1.0  
Typ CXF Es werden nur Services vom Typ CXF publiziert.
Format WebService Es muss WebService gesetzt werden, damit der Endpunkt des empfangenden WebServices publiziert wird.
Format Version Messages  
Zielformat messagesService Der hier konfigurierte Wert wird zur generierung der Webservice-Adresse genutzt, er wird am Ende angehängt: http://meinhost:port/b2bbp-engine/cxf/<Zielformat> bzw. http://meinhost:port/b2bbp-engine/cxf/messagesService
Document Die webservices.messages jar  

WSDL

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

			<xsd:complexType name="ContrlSearchParameter">
				<xsd:sequence>
					<xsd:element name="senderMPID" type="xsd:string"/>
					<xsd:element name="recipientMPID" type="xsd:string"/>
					<xsd:element name="referenceId" type="xsd:string"/>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="ContrlSearchParameterList" >
				<xsd:sequence>
					<xsd:element name="contrlSearchParameter" type="tns:ContrlSearchParameter" maxOccurs="unbounded" />
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="ContrlSearchResult">
				<xsd:sequence>
					<xsd:element name="searchParameter" type="tns:ContrlSearchParameter"/>
					<xsd:element name="contrlReferenceId" type="xsd:string"/>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="ContrlSearchResultList" >
				<xsd:sequence>
					<xsd:element name="contrlSearchResult" type="tns:ContrlSearchResult" maxOccurs="unbounded" />
				</xsd:sequence>
			</xsd:complexType>

			<xsd:element name="MessagesServiceFault" type="xsd:string" />

		</xsd:schema>
	</types>

	<message name="findContrlReferenceRequest" >
		<part name="contrlSearchParameter" type="tns:ContrlSearchParameter" />
	</message>
	<message name="findContrlReferenceResponse">
		<part name="contrlSearchResult" type="tns:ContrlSearchResult"/>
	</message>

	<message name="findContrlReferenceListRequest" >
		<part name="parameters" type="tns:ContrlSearchParameterList" />
	</message>
	<message name="findContrlReferenceListResponse">
		<part name="results" type="tns:ContrlSearchResultList"/>
	</message>

	<message name="MessagesServiceException">
		<part name="message" element="tns:MessagesServiceFault"/>
	</message>

	<portType name="MessagesService">
		<documentation>The MessagesService provides a method to find one or more contrl-reference-ids.</documentation>

		<operation name="findContrlReference">
			<documentation>Method to find one contrl-reference-id.</documentation>
			<input message="tns:findContrlReferenceRequest"/>
			<output message="tns:findContrlReferenceResponse"/>
			<fault name="MessagesServiceFault" message="tns:MessagesServiceException"/>
		</operation>

		<operation name="findContrlReferenceList">
			<documentation>Method to find multiple contrl-reference-ids.</documentation>
			<input message="tns:findContrlReferenceListRequest"/>
			<output message="tns:findContrlReferenceListResponse"/>
			<fault name="MessagesServiceFault" message="tns:MessagesServiceException"/>
		</operation>
	</portType>


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

		<operation name="findContrlReference">
			<soap:operation soapAction="http://nextlevel.com/webservices/messages/findContrlReference" />
			<input>
				<soap:body use="literal" namespace="http://nextlevel.com/webservices/messages" />
			</input>
			<output>
				<soap:body use="literal" namespace="http://nextlevel.com/webservices/messages" />
			</output>
			<fault name="MessagesServiceFault">
				<soap:fault use="literal" name="MessagesServiceFault" />
			</fault>
		</operation>

		<operation name="findContrlReferenceList">
			<soap:operation soapAction="http://nextlevel.com/webservices/messages/findContrlReferenceList" />
			<input>
				<soap:body use="literal" namespace="http://nextlevel.com/webservices/messages" />
			</input>
			<output>
				<soap:body use="literal" namespace="http://nextlevel.com/webservices/messages" />
			</output>
			<fault name="MessagesServiceFault">
				<soap:fault use="literal" name="MessagesServiceFault" />
			</fault>
		</operation>
	</binding>

	<service name="MessagesService">
		<port name="MessagesServicePort" binding="tns:MessagesServiceBinding">
			<soap:address location="http://localhost/" />
		</port>
	</service>
</definitions>

XML Aufruf Bespiel

findContrlReference Beispiel (Abfrage einer einzelnen CONTRL-Referenz)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mes="http://nextlevel.com/webservices/messages">
   <soapenv:Header/>
   <soapenv:Body>
      <mes:findContrlReference>
         <contrlSearchParameter>
            <mes:senderMPID>9900269000000</mes:senderMPID>
            <mes:recipientMPID>9903004000003</mes:recipientMPID>
            <mes:referenceId>000012183949</mes:referenceId>
         </contrlSearchParameter>
      </mes:findContrlReference>
   </soapenv:Body>
</soapenv:Envelope>
findContrlReferenceList Beispiel (Abfrage einer Liste von CONTRL-Referenzen):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mes="http://nextlevel.com/webservices/messages">
   <soapenv:Header/>
   <soapenv:Body>
      <mes:findContrlReferenceList>
         <parameters>
            <!--1 or more repetitions:-->
            <mes:contrlSearchParameter>
               <mes:senderMPID>9900269000000</mes:senderMPID>
            	<mes:recipientMPID>9903004000003</mes:recipientMPID>
            	<mes:referenceId>000012183949</mes:referenceId>
            </mes:contrlSearchParameter>
            <mes:contrlSearchParameter>
               <mes:senderMPID>9910674000008</mes:senderMPID>
            	<mes:recipientMPID>9907492000005</mes:recipientMPID>
            	<mes:referenceId>100012842136</mes:referenceId>
            </mes:contrlSearchParameter>
         </parameters>
      </mes:findContrlReferenceList>
   </soapenv:Body>
</soapenv:Envelope>

Beschreibung der Paramater

Element ContrlSearchParameter

Element Beschreibung
senderMPID die MPID von dem die Nachweisnachricht versendet wurden
recipientMPID die MPID des Marktpartners, an den diese versendet wurde
referenceId die Dateiaustauschreferenz (also UNB-Referenz) der Nachweisnachricht

Element ContrlSearchResult

Element Beschreibung
searchParameter die Anfrage-Parameter werden in der Antwort wieder zurückgeliefert. Bei Anfrage einer Liste von CONTRL-Referenzen dient dies der Zuordnung der Antwort
contrlReferenceId die Dateiaustauschreferenz (also UNB-Referenz) der CONTRL auf diese Nachricht. Wird keine CONTRL gefunden, so bleibt dieses Element leer.

Es werden nur CONTRL Referenzen zu Nachrichten gefunden, die als vom Marktpartner als bestätigt angenommen werden können. Konkret heißt das, dass der Bestätingsstatus der referenzierten Nachricht nicht CTN (Ablehnung) oder CTW (CONTRL steht noch aus) sein darf.

Tags:
View Me   Edit Me