Scripted SOAP Web Services
Geskriptete SOAP-Webservices erlauben eine ServiceNow Administrator zum Erstellen anwenderdefinierter SOAP-Webservices.
Sie können Eingabe- und Ausgabeparameter für den SOAP-Webservice definieren und JavaScript zum Ausführen von Vorgängen verwenden. Obwohl diese Funktion sehr leistungsfähig ist, verwenden Sie Direkte Webservices Oder Importsätze DES SOAP-Webservice Wann immer möglich, da sie einfacher zu implementieren und zu verwalten sind.
Sicherheit
Geskriptete SOAP-Webservices haben dieselben Basissicherheitsoptionen wie alle SOAP-Webservices. Details zur Sicherheit von SOAP-Webservices finden Sie unter SOAP-Webservices-Sicherheit.
Wann Strikte Sicherheit Wird auf einem System erzwungen, muss der HTTP-authentifizierte Anwender über verfügen SOAP_script Rolle zum Ausführen des geskripteten Webservice.
WSDL
Alle ServiceNow Tabellen und Importsätze generieren dynamisch XML-Dokumente (Webservice Definition Language, WSDL), die das Tabellenschema und die verfügbaren Vorgänge beschreiben.
WSDL-Compliance wird erzwungen
Sie können die Antwort erzwingen, Ausgabewerte in derselben Reihenfolge aufzulisten, wie in der WSDL definiert.
Wenn Sie einen geskripteten SOAP-Webservice erstellen, basiert die generierte WSDL auf den zugehörigen Listen „Eingabeparameter“ und „Ausgabeparameter“. Die tatsächliche SOAP-Antwort, die vom geskripteten Service gesendet wird, wird von bestimmt Skript . Dieses Verhalten kann dazu führen, dass das Skript Ausgabewerte in einer anderen Reihenfolge zurückgibt als in der WSDL definiert.
| Parameter | Reihenfolge |
|---|---|
| Parameter 1 | 200 |
| Parameter 2 | 300 |
| Parameter 3 | 100 |
Das folgende Skript legt Werte für die definierten Ausgabeparameter fest. Beachten Sie, dass in diesem Beispielskript die Parameter in einer anderen Reihenfolge festgelegt werden als in der zugehörigen Liste „Ausgabeparameter“ definiert. Beachten Sie auch den zusätzlichen Parameter param4Das nicht in der zugehörigen Liste definiert ist.
Response.param1 = 1;
Response.param4 = 4;
Response.param3 = 3;
Wenn WSDL-Compliance Kontrollkästchen ist Falsch , Die vom Skript generierte SOAP-Antwort lautet wie folgt:
<response>
<param1>1</param1>
<param4>4</param1>
<param3>3</param1>
</response>
<response>
<param3>3</param1>
<param1>1</param1>
</response>Statische WSDL
Einige Webservice-Clients erfordern SOAP-Zugriff auf Ihre Instanz über ein bestimmtes WSDL-Format. Dieses erforderliche Format kann sich vom standardmäßigen ServiceNow-WSDL-Format unterscheiden. In diesen Fällen können Sie eine statische WSDL erstellen, die dem erforderlichen Format entspricht.
Globale Variablen
- SoapRequestDocument : Objekt „Java org.w3c.dom.Document“, das den eingehenden SOAP-Umschlag darstellt.
- SoapRequestXML : Zeichenfolgenobjekt, das die eingehende SOAP-Umschlag-XML darstellt.
- Anforderung : JavaScript-Objekt, das zugeordnete Werte (den Eingabeparameternamen zugeordnet) des eingehenden SOAP-Umschlags enthält.
- Antwort : JavaScript-Objekt, mit dem Sie die Antwortwerte anpassen können. Siehe Passen Sie Die Antwort An