Extension EAI_WS_CONFIG

Die Konfiguration eines SOAP-Endpoints in der B2B erfolgt vollständig in der Extension EAI_WS_CONFIG.

In der Extension können mehrere Endpoints konfiguriert werden. Die Konfiguration erfolgt deshalb immer mit einem Prefix für den Endpoint in der Form {EndpointName}_{PropertyName}={PropertyValue}.

Aktive Endpoints müssen am Anfang der Extension unter dem Key ENDPOINTS angegeben werden. Mehrere Endpoints müssen mit Semikolon getrennt werden.

Folgende Konfigurations-Möglichkeiten stehen zur Verfügung:

PropertyName Beschreibung Werte
INBOUND_URL Die URL für den eingehenden SOAP-Webservice. Die URL bezieht sich immer auf die Basis-URL {Server}/b2bbp-engine/ws. Beispiel: /INBOUND_ENDPOINT1 - Der Webservice ist dann über die URL {Server}/b2bbp-engine/ws/INBOUND_ENDPOINT1 ansprechbar.
INBOUND_SOAP_VERSION Mit dieser Property kann die erwartete SOAP-Version der konfiguriert werden, je nachdem ob eine Nachricht in der SOAP-Version 1.1 oder 1.2 erwartet wird SOAP11 / SOAP12
INBOUND_AUTHENTICATION_TYPE Dieser Wert beschreibt die Konfiguration einer Authentifizierungsmethode zum Aufrufen des Webservices. NONE(default)/BASIC_AUTHENTICATION / WSSE_UsernameToken_Profile_1_1
INBOUND_AUTHENTICATION_USER Falls eine Authentifizierungsmethode gewählt wurde wird mit dieser Property der Benutzername gesetzt  
INBOUND_AUTHENTICATION_PASSWORD Falls eine Authentifizierungsmethode gewählt wurde wird mit dieser Property der Benutzername gesetzt  
INBOUND_WSSE_USERNAMETOKEN_PASSWORD_TYPE Falls WSSE als Authentifizierungsmethode gewählt wurde kann hier der Passworttyp näher spezifiziert werden. TEXT (default) / DIGEST
INBOUND_ASYNC_RETURN_SERVICE_ID Mit dieser optionalen Property kann im Falle eines asynchronen Aufrufs der zu verwendende Service für die Rückantwort konfiguriert werden. Die Property wird nur dann herangezogen, wenn im Messagecontext der Nachricht der Wert EAI_RETURN_SERVICE_ID fehlt. Dieser Mechanismus kommt in der AsyncWebserviceReturnAction zum Einsatz  
INBOUND_USE_CD Boolean-Wert, ob eine bei der Verarbeitung der Nachricht ChannelDistributions ausgeführt werden sollen. true/false(default)
INBOUND_CREATE_FORMAT_OBJECT Bei der Verarbeitung eines SOAP-Aufrufs wird in der Regel kein Format-Objekt benötigt, deswegen wird standardmäßig kein Format-Objekt angelegt. Wird bei der weiteren Verarbeitung von anderen Actions oder Services die Existenz eines Format-Objekts vorausgesetzt, so kann ein leeres Format-Objekt mit Hilfe dieser Property erzeugt werden. true/false(default)
INBOUND_THROW_ERROR_FROM_CHANNEL_FACTORY Boolean-Wert, ob im Falle eines Fehlers während der Nachrichtenverarbeitung es noch eine Rückmeldung an den Aufrufer (mit einer Fehlermeldung) geben soll (default). Wird diese Property auf true gesetzt, kommt es zu keiner Rückmeldung. true/false(default)
INBOUND_SOAP_PAYLOAD_KEY Hier kann ein Schlüssel angegeben werden, unter dem der reine Payload eines SOAP-Requests, ohne die einrahmende SOAP-Nachricht im Messagecontext abgelegt wird. Zusätzlich wird dann unter diesem Schlüssel mit dem Suffix _OBJECT die aufgerufene SOAP-Methode im MessageContext abgelegt  
INBOUND_SUPPRESS_MUST_UNDERSTAND_HEADERS Boolean-Wert, ob für diesen Endpoint die Überprüfung für MustUnderstand Headers unterdrückt werden soll true/false(default)

Service

Zusätzlich zu der Konfiguration in der EAI_WS_CONFIG muss ein neuer Service angelegt werden.

Die ID des Services muss der in der EAI_WS_CONFIG angegebenen Endpointnamen entsprechen. Der Name ist frei wählbar, der Typ ist WS. Ein Klassenname wird nicht angegeben.

Es muss ein Channel ausgewählt werden, in dem die Verarbeitung erfolgen soll.

Die Option Startup hat keinen Einfluss. Jeder SOAP-Service, der in der EAI_WS_CONFIG konfiguriert ist, steht in der B2B grundsätzlich zur Verfügung.

Request-Header

Wenn der SOAP Request Header-Informationen enthält, dann werden diese automatisch in den MessageContext mit dem Präfix INCOMING_HEADER_ geschrieben. Hätte der SOAP-Request zum Beispiel den Header Content-Type, so könnte dieser Header in der Verarbeitung über den folgenden Template-Ausdruck ausgelesen werden:

${template(&(this.INCOMING_HEADER_Content-Type))}

View Me   Edit Me