Anfrage für Plain-HTTP-Eingang der Integration
Engine definieren
Sie sprechen den Plain-HTTP-Eingang der Integration Engine über eine HTTP-Adresse an. Codieren Sie die Steuerdaten in der HTTP-Adresse als Parameter, damit eine Message erzeugt werden kann. Die Parameter sind obligatorisch.
Der HTTP-Body wird als Payload für die Message verwendet. Die Payload enthält keinen Umschlag mit Steuerdaten für die zu erzeugende Message.
● Der von SAP ausgelieferte HTTP-Service am HTTP-Eingang der Integration heißt /sap/xi/adapter_plain.
Weitere Informationen:
HTTP-Service
● Der Service muss dem Mandanten zugewiesen werden, in dem die Integration Engine betrieben wird.
● Als Request Handler ist die Klasse CL_HTTP_PLAIN_INBOUND hinterlegt, die einen HTTP-Request synchron (Client erwartet eine Antwort) oder asynchron verarbeitet.
● Multipart-Dokumente und HTTP-Requests mit einem leeren HTTP-Body werden nicht akzeptiert und erhalten eine Antwort mit Status-Code 500 bzw. 204.
● Die Payload sollte als XML-Dokument mit Codepage UTF-8 gesendet werden, damit alle Services der Integration Engine das Dokument verarbeiten können.
...
1. Verwenden Sie für eingehende Anfragen im Plain-HTTP-Adapter folgende Syntax:
http://<hostname:port>/<path>?<query-string>
2. Verwenden Sie Sonderzeichen wie Schrägstrich (/), Bindestrich (-), Punkt (.) oder Doppelpunkt (:) im Query-String, müssen Sie sie mit Escape-Zeichen codieren (beispielsweise %2F für /, %2D für -, %2E für . und %3A für :).
3. Für den Query-String geben Sie folgende obligatorische Parameter an:
○ Sender-Namensraum ?namespace=<namespace>
Namensraum des sendenden Interfaces
○ Sender-Interface &interface=<interface>
Interface der HTTP-Payload
○ Sender-Service &service=<service>
Sie legen den Sender-Service zur Identifikation des Absenders fest.
Beim XI-Message-Protokoll 2.0 entspricht dieser Parameter dem Parameter bs.
4. Für den Query-String geben Sie folgende optionale Parameter an:
Diese Parameter beeinflussen das Laufzeitverhalten der Message in der Integration Engine.
○ Sender-Partner &party=<party>
○ Sender-Agentur &agency=<agency>
Vergebende Agentur des Senders.
○ Sender-Schema &scheme=<scheme>
Identifikationsschema des Senders
Machen Sie keine Angaben zu Agentur und Schema, werden folgende Vorgabewerte gesetzt:
■ agency=http://sap.com/xi/XI
■ scheme=XIParty
○ Quality-of-Service (optional) &qos=<EO|BE|EOIO>
Für BE wird dem Client der Endstatus der Verarbeitung mitgeteilt, bei EO und EOIO findet die Verarbeitung asynchron entkoppelt statt und der Client erhält nur eine Empfangsbestätigung mit HTTP-Status 200.
Fehlt der Parameter, wird der Vorgabewert BE gesetzt.
○ Queue-ID &queueid=<queueid>
Name der Queue nur bei EOIO.
Die Queue-ID darf maximal 16 Zeichen lang sein. Enthalten die ersten acht Zeichen der Queue den Wert SAP_ALE_, so wird dieser entfernt, da dieser Wert von SAP reserviert ist und intern verwendet wird.
Weitere Informationen: Quality-of-Service
○ Message-ID &msgguid=<msgguid>
Für EO und EOIO können Sie zusätzlich die Message-ID über den Parameter msgguid für das Exactly-Once Handling mitgeben.
Wird eine ID mehrfach verwendet, so wird vom Server ein HTTP-Status 500 zurückgesendet.
Die Message-ID ist 32 Zeichen lang und darf nur die Zeichen 0 bis 9 und A bis F enthalten. Sie wird persistiert und kann so auf Duplizität überprüft werden. Kann der HTTP-Client (also das Sendersystem) keine Message-ID liefern, wird vom Plain-HTTP-Adapter eine Message-ID erstellt und über die Integration Engine an die Anwendung weitergereicht. In der Anwendung kann dann auf Dokumentenebene eine Duplizitätsprüfung vorgenommen werden, beispielsweise über die Bestellnummer.
● Die instanziierte Message wird an die Integration Engine übergeben. Im Modus BE (synchrone Verarbeitung) wird auf die Antwort der Integration Engine gewartet. Ist die Verarbeitung erfolgreich, wird die Payload der Message als HTTP-Response versendet. Ansonsten wird ein Fehler zurückgegeben.
● Bei erfolgreicher Verarbeitung erhält der HTTP-Client den Return Code 200, ansonsten den Return Code 500 bzw. 409. Im Fehlerfall enthält das Error-Objekt der Message eine Fehlermeldung. Diese wird im synchronen Fall in den HTTP-Body der HTTP-Response gestellt; im asynchronen Fall wird sie dem HTTP-Request als Fehlerursache mitgeteilt.
● Optionale HTTP-Header-Felder werden ignoriert. Die Payload im HTTP-Body wird als Binary-Dokument in die Message gehängt.
HTTP-Adresse mit obligatorischen Parametern:
http://sap-ag.com:8088/sap/xi/adapter_plain?service=sender&namespace=urn%3Asap-ag%2Ecom&interface=%2Fsap%2Forders
HTTP-Adresse mit obligatorischen und optionalen Parametern:
http://sap-ag.com:8088/sap/xi/adapter_plain?service=sender&namespace=urn%3Asap-ag%2Ecom&interface=%2Fsap%2Forders&qos=EO&msgguid=3C61F6C12F1E2DD1E10000000A1145AB