Mit Profil SOAP-Webservice aufrufen im Eingangsagenten
Lokaler Webservice
Importieren Sie bitte folgendes Profil und setzen Sie es aktiv. Diese Profil dient uns als lokaler Webservice: Profile-Profile_as_web_service_dynamic_response.pak.
Webservice aufrufen
Importieren Sie nun folgendes Profil. Mit diesem Profil rufen wir im Eingangsagenten den lokalen Webservice auf : Profile-Calling_web_service_with_input_agent.pak
Öffnen Sie bitte das Beispiel-Profil und navigieren Sie zu Phase 1.
(1) Wählen Sie diese Option.
(2) Tragen Sie hier https://localhost:443/dw/Request/addition_web_service ein. Das ist unser lokaler Webservice.
(3) Verwenden Sie diesen Wert (ist der Default-Wert).
(4) Klicken Sie auf diesen Button. Es erscheint ein weiterer Dialog.
(5) Hier erscheint automatisch die in (2) eingetragene URL mit dem Suffix ?wsdl
(6) Klicken Sie nun hier, um die WSDL-Datei des Webservices über die URL (5) abzufragen.
(7) Hier erhalten Sie in eine Liste aller verfügbaren Methoden des Webservices (in unserem Fall nur eine).
(8) Wenn Sie hier klicken, wird Ihnen eine passende Datei-Datenstruktur im Datenfeld eingetragen.
(9) Ersetzen Sie nun bitte den Text add_some_value_here mit 1 und 2 (kommt zweimal vor). Das sind die zwei zu addierenden Zahlen. Hinweis: Natürlich will man wohl nicht immer 1 und 2 addieren, sondern diese Zahlen dynamisch übergeben. Dazu erstellt man ein zusätzliches Profil, das z. B. den ersten und zweiten Wert aus einer Datenbank liest und zwei Variablen übergibt, indem es im Ausgang unser Profil ruft. Nun tragen wir in unserem Profil statt der Werte 1 und 2 die Platzhalter @MSG_CALL_VARIABLE_1@ und @MSG_CALL_VARIABLE_2@ ein. Vergessen Sie nicht diese Variablen MSG_CALL_VARIABLENNAME in unserem Profil zu definieren. Siehe auch Abschnitt Variablen mit Präfix MSG_CALL_.
(10) Klicken Sie nun auf diesen Button. Es erscheint ein Dialog mit der Antwort des Webservices. Darin finden Sie den Text <result>3</result>, also das Ergebnis unserer Addition.
(11) Abschließend können Sie sich hier automatisch eine Quellstruktur passend für die Ergebnis-Daten erstellen lassen. Hinweis: In diesem Beispiel werden Daten per SOAP-XML ausgetauscht. Der Request ist von einem Envelope umgeben (<soap:envelope>....</soap:envelope>). Die Daten für die Übertragung werden in der Regel in den Body gepackt (<soap:body>....</soap:body>). Die Response wird in der gleichen Art und Weise zurück geliefert. Die Daten des Bodies werden genau wie bei jeder anderen XML-Datei erzeugt und geparst. Hinweis: Die Response hat das Encoding UTF-8 (→ Basis-Daten).
(12) Manche Server benötigen den HTTP-Header SOAPAction. Während der XML-Erzeugung wird der Wert hinter SOAPAction: in Kommentar (12) ausgelesen. Dieser Wert wird verwendet als Wert für diesen (automatisch erzeugten) HTTP-Header.
(13) Manche Webservices benötigen zusätzliche Werte, die im HTTP-Header erwartet werden, wie z. B. eBay (Applikations-ID, etc.). Diese können hier gesetzt werden.
HTTP-Request-Header setzen
Siehe (13).