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.
Für die Suche in der Datenbank wird das Attribut B3P_CONTRL_REFERENCE_ID
benutzt. Falls die CONTRL-Referenz in der Datenbank nicht gefunden wurde, wird sie im Archiv gesucht.
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.