Show TOC

Exactly Once im SOAP-Sender-Adapter sicherstellenLocate this document in the navigation structure

Verwendung

Auf welche Weise der SOAP-Adapter eine Exactly-Once End-to-End-Verarbeitung sicherstellt, hängt davon ab, ob die SOAP-Message, die vom SOAP-Client bereitgestellt wird, einen GUID enthält oder nicht.

Vorgehensweise

SOAP-Message mit GUID

Enthält die SOAP-Message einen GUID, wählen Sie in der Adapterkonfiguration Kodierte Header verwenden und Query-String verwenden.

Der GUID kann in einen gültigen XI-Message-Header im SOAP-Message-Header bereitgestellt werden oder in einem entsprechenden Query-String in der URL angegeben sein.

Zum Beispiel: http://<Host-Name>:<Port-Name>/XISOAPAdapter/MessageServlet?senderParty=<Name des Senderpartners>&senderService=<Name des Sender-Service>&interface=<Name des Interface>&receiverParty=<Name des Empfängerpartners>&receiverService=<Name des Empfänger-Service>&interfaceNamespace=<Name des Interface-Namensraums>&MessageId=<GUID>

Hinweis

SOAP-Message ohne GUID

Enthält die SOAP-Message keinen GUID, generiert der SOAP-Adapter einen GUID.

Wählen Sie in der Adapterkonfiguration unter Quality-of-Service Exactly Once.

Der GUID wird generiert und der macht einen Exactly Once-Aufruf an den XI-Service.

Ergebnis

SOAP-Message mit GUID

  • Erhält der SOAP-Client als Antwort eine leere SOAP-Message in HTTP 200, bedeutet das, dass die Message erfolgreich persistiert worden ist und genau einmal verarbeitet wird.
  • Erhält der SOAP-Client einen SOAP-Fault oder irgendeine Antwort nicht in HTTP 200, dann muss er die Message so lange noch einmal versenden, bis er eine leere SOAP-Message in HTTP 200 erhält.

SOAP-Message ohne GUID

  • Wird die XI-Message erfolgreich persistiert, dann schickt der Adapter eine leere SOAP-Message (HTTP 200) als Antwort an den SOAP-Client. Der SOAP-Client weiß nun, dass die Message erfolgreich verschickt wurde.
  • Erhält der SOAP-Client einen SOAP-Fault, dann muss er die Message so lange noch einmal versenden, bis er eine leere SOAP-Message (HTTP 200) erhält.
  • Erhält der SOAP-Client einen unvollständigen HTTP 200, dann kann der Client annehmen, dass die Message erfolgreich verarbeitet wurde.
  • Erhält der SOAP-Client einen unvollständigen HTTP 4xx oder 5xx, dann kann der Client annehmen, dass die Message nicht verarbeitet wurde.
  • Erhält der SOAP-Client keine Antwort, dann ist die Situation unbestimmt. Die Message sollte noch einmal verschickt werden. In diesem Fall ist aber potenziell die Message mehr als einmal ausgeführt.