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 in einer Funktion den lokalen Webservice auf: Profile-Calling_web_service_with_function.pak
Öffnen Sie bitte das Beispiel-Profil und navigieren Sie zu Phase 3.
Sie sehen in der Zielstruktur zwei Felder A und B mit Fixwerten, die wir für den Aufruf des Webservices verwenden.

Auf Feld call_web_service verwenden wir die Funktion call SOAP-WebService(). Dort verwenden wir folgende Parameter-Werte.
Auf Feld read_result_from_list lesen wir am Ende lediglich das vom Webservice erhalten Ergebnis aus der Liste h aus.
Parameter | Wert | Erklärung |
|---|---|---|
a | https://localhost:443/dw/Request/addition_web_service | Gibt die URL des Webservices an. Das ist unser lokaler Webservice. |
d | ./conf/add.xml | Siehe unten. |
e | application/soap+xml | Gibt den MIME-Type des ausgehenden Requests an. |
f | A,B | Hier listet man die Zielstruktur-Felder auf, deren Werte verwendet werden sollen, um die Platzhalter im Template zu ersetzen. Siehe Zielstruktur oben und Parameter d. |
g | result | Das ist der Name des XML-Elements (oder mehrere Namen mit Komma getrennt), das wir aus der Webservice-Response auslesen wollen. Es können auch XPath-Ausdrücke verwendet werden, falls Sie dies möchten. Hinweis: Siehe Abschnitt Profil als SOAP-Webservice (dynamische Response). |
h | mylist | Gibt den Namen der Liste an, in die die ausgelesenen Werte (siehe Parameter g) gespeichert werden sollen. |
Erklärung zu Parameter d:
Wir benötigen für den Aufruf eine Template-Datei, die angibt, wie der Request auszusehen hat. Diese ist die gleiche Template-Datei wie in Abschnitt Mit Profil Webservice aufrufen im Eingangsagenten. Kopieren Sie das Template dort. Hinweis: Der Pfad muss mit ./conf/ beginnen.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:wsdw="http://tempuri.org/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- SOAPAction:https://beta.lobster.de/dw/Request/addWebService -->
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<wsdw:Add>
<wsdw:intA>add_some_value_here</wsdw:intA>
<wsdw:intB>add_some_value_here</wsdw:intB>
</wsdw:Add>
</soapenv:Body>
</soapenv:Envelope>Ersetzen Sie nun bei den Elementen intA und intB den Wert add_some_value_here mit den Platzhaltern @A@ und @B@ für die Namen der Zielstruktur-Felder, deren Werte wir verwenden wollen. Siehe auch Zielstruktur oben und Parameter f.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:wsdw="http://tempuri.org/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- SOAPAction:https://beta.lobster.de/dw/Request/addWebService -->
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<wsdw:Add>
<wsdw:intA>@A@</wsdw:intA>
<wsdw:intB>@B@</wsdw:intB>
</wsdw:Add>
</soapenv:Body>
</soapenv:Envelope>HTTP-Request-Header setzen
Manche Webservices benötigen zusätzliche Werte, die im HTTP-Header erwartet werden, wie z. B. eBay (Applikations-ID, etc.). Diese können wie folgt gesetzt werden.
Siehe dazu Parameter p in Funktion call SOAP-WebService().