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. Weitere Informationen zur Sicherheit von SOAP-Webservices finden Sie unter SOAP Web Services-Sicherheit.
Wenn auf einem System strikte Sicherheit durchgesetzt wird, muss der mit HTTP authentifizierte Benutzer die Rolle soap_script haben, um den geskripteten Webservice auszuführen.
WSDL
Alle ServiceNow Tabellen und Importsätze generieren dynamisch WSDL-XML-Dokumente (Web Service Definition Language), die das Tabellenschema und die verfügbaren Vorgänge beschreiben.
WSDL-Compliance erzwingen
Sie können erzwingen, dass die Antwort Ausgabewerte in derselben Reihenfolge auflistet, die in der WSDL definiert ist.
Wenn Sie einen geskripteten SOAP Web Service erstellen, basiert die generierte WSDL auf den zugehörigen Listen „Eingabeparameter“ und „Ausgabeparameter“. Die eigentliche SOAP-Antwort, die vom geskripteten Service gesendet wird, wird durch die Befehlszeile Skript bestimmt. Dieses Verhalten kann dazu führen, dass das Skript Ausgabewerte in einer anderen Reihenfolge als in der WSDL definiert zurückgibt.
| Parameter | Reihenfolge |
|---|---|
| Param 1 | 200 |
| Param 2 | 300 |
| Param 3 | 100 |
Das Folgende ist das Skript, das Werte für die definierten Ausgabeparameter festlegt. Beachten Sie, dass in diesem Beispielskript die Parameter in einer anderen Reihenfolge als in der zugehörigen Liste „Ausgabeparameter“ festgelegt sind. Beachten Sie auch den zusätzlichen Parameter param4Die nicht in der zugehörigen Liste definiert ist.
Response.param1 = 1;
Response.param4 = 4;
Response.param3 = 3;
Wenn die Checkbox WSDL-Compliance auf false gesetzt ist, lautet die vom Skript generierte SOAP-Antwort wie folgt:
<response>
<param1>1</param1>
<param4>4</param1>
<param3>3</param1>
</response>
<response>
<param3>3</param1>
<param1>1</param1>
</response>Statisches WDSL
Einige Webservice-Clients erfordern SOAP-Zugriff auf Ihre Instanz über ein bestimmtes WSDL-Format. Dieses erforderliche Format kann vom Standard-WSDL-Format von ServiceNow abweichen. In diesen Fällen können Sie eine statische WSDL erstellen, die dem erforderlichen Format entspricht.
Globale Variablen
- SoapRequestDocument : Java org.w3c.dom.Document-Objekt, 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 Antwort anpassen