call SOAP-WebService without template(a,b,c,d,e,f,[g,h,i,j,k,l])
Gruppe |
Ruft einen Webservice a unter Verwendung von SOAP 1.2 auf.
Parameter d erwartet den SOAP-Request als String. Siehe Beispiel.
Die SOAP-Response des Webservices wird in das XML-DOM-Objekt f geschrieben.
Die Funktion liefert true beim erfolgreichen Aufruf des Webservices zurück.
Parameterbeschreibung
Parameter |
Beschreibung |
a |
Endpoint-URL des Webservices. Siehe Beispiel. |
b |
(optional) Benutzername, sofern notwendig. |
c |
(optional) Passwort, sofern notwendig. |
d |
SOAP-Request als XML-String. Siehe Beispiel. |
e |
MIME-Type des ausgehenden Requests, z. B. text/xml. |
f |
Name des XML-DOM-Objekts, in das die SOAP-Response geschrieben wird. |
g |
(optional) Bei true wird beim Scheitern des Webservice-Aufrufs die Funktion mit einem Fehler abgebrochen. Bei false wird die Funktion mit dem Rückgabewert false beendet und die Fehlermeldung des gescheiterten Webservice-Aufrufs wird in System-Variable VAR_SYS_SOAP_FAULT gespeichert, falls diese angelegt ist. |
h |
(optional) Timeout in Sekunden. |
i |
(optional) true, falls der Webservice über einen DMZ-Server aufgerufen werden soll. Default: false. |
j |
(optional) ID des Zertifikats, falls dieses für eine SSL-Verbindung benötigt wird. Default: <leer>. |
k |
(optional) HTTP-Kanal-ID. In diesem Fall können Parameter b, c und j leer gelassen werden, da sie vom Kanal kommen. |
l |
(optional) Der Name der Map, die zusätzliche HTTP-Request-Header enthält. Wobei der Key eines Eintrags in der Map der Name eines HTTP-Request-Headers ist, und der Wert zu diesem Key der Wert des HTTP-Request-Headers. Hinweis: Siehe auch Funktion add to map(key a, value b, name of map c, [skip empty d]). |
Zusätzliche HTTP-Request-Header
Siehe Parameter l.
Beispiel
Wir verwenden im Beispiel einen lokalen Webservice. Beschrieben finden Sie das in Abschnitt Mit Profil SOAP-Webservice aufrufen im Eingangsagenten.
Dort ist auch beschrieben, wie Sie den SOAP-Request für Parameter d bekommen.
<?
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"
>
<
soapenv
:Header>
</
soapenv
:Header>
<
soapenv
:Body>
<
wsdw
:Add>
<
wsdw
:intA>1</
wsdw
:intA>
<
wsdw
:intB>2</
wsdw
:intB>
</
wsdw
:Add>
</
soapenv
:Body>
</
soapenv
:Envelope>
Wir rufen die Funktion mit folgenden Parametern auf.
1) call SOAP-WebService without template(a,b,c,d,e,f,[g,h,i,j,k,l])
a constant: https://localhost:443/dw/Request/addition_web_service
b constant:
c constant:
d destination: (XML als String wie oben abgebildet)
e constant: text/xml
f constant: my_xml_object
g constant:
h constant:
i constant:
j constant:
k constant:
l constant:
Die Funktion liefert true zurück, wenn alle Einstellungen korrekt sind.
Sie können nun z. B. die Funktionen dump XML/DOM object(a) verwenden, um die Webservice-Response aus dem XML-DOM-Objekt my_xml_object auszulesen.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
AddResult
>
<
result
>3</
result
>
</
AddResult
>