Scripted SOAP Web Services

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 2 Minuten Lesedauer
  • 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.

    Um die Reihenfolge der Ausgabeparameter wie in der zugehörigen Liste definiert zu erzwingen, wählen Sie aus WSDL-Compliance Kontrollkästchen. Wenn dieses Kontrollkästchen aktiviert ist, ordnet der Webservice die vom Skript zurückgegebenen Parameter neu an, um der Reihenfolge in der WSDL zu entsprechen.
    Hinweis:
    Wenn zusätzliche Antwortparameter vom Skript zurückgegeben werden, aber nicht in der zugehörigen Liste „Antwortparameter“ definiert sind, werden diese Parameter von der Antwort ausgeschlossen, wenn WSDL-Compliance Ist ausgewählt.
    Tabelle : 1. Zugehörige Liste der Ausgabeparameter
    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>
    Wenn WSDL-Compliance Kontrollkästchen ist Wahr , Die vom Skript generierte SOAP-Antwort lautet wie folgt:
    <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

    Um die anwenderdefinierte Verarbeitung eingehender SOAP-Anforderungen zu erleichtern, sind die folgenden globalen Variablen im Skriptkontext verfügbar:
    • 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