Antwort anpassen
Folgen Sie diesem Beispiel, um die XML-Nutzlast einer SOAP-Antwort anzupassen und zu steuern.
Vorbereitungen
Erforderliche Rolle: web_service_admin oder admin
Prozedur
-
Erstellen Sie ein benutzerdefiniertes XML-Dokument mit dem Skript Include-Objekt XMLDocument.
Hinweis:Wenn Sie einen geskripteten Webservice in einer bereichsbezogenen Anwendung erstellen, müssen Sie die XMLDocument2- API verwenden.
-
Legen Sie das Dokumentelement auf die Variable response.soapResponseElement in einem geskripteten Webservice fest.
Beispielsweise das folgende Skript für geskripteten Webservice:
var xmldoc = new XMLDocument2(); xmldoc.parseXML("<myResponse></myResponse>"); xmldoc.createElementWithTextValue("element_one", "test"); xmldoc.createElementWithTextValue("element_two", "new2 value"); var el = xmldoc.createElement("element_three"); xmldoc.setCurrentElement(el); xmldoc.createElementWithTextValue("newChild", "test child element"); response.soapResponseElement = xmldoc.getDocumentElement();Wird verwendet, um die folgende Anforderung zu akzeptieren:<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://www.service-now.com/TestCustomResponse"> <soapenv:Header/> <soapenv:Body> <tes:execute/> </soapenv:Body> </soapenv:Envelope>Die mit der folgenden SOAP-Antwort antworten:<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes="http://www.service-now.com/TestCustomResponse"> <soapenv:Header/> <soapenv:Body> <myResponse> <element_one>test</element_one> <element_two>new2 value</element_two> <element_three> <newChild>test child element</newChild> </element_three> </myResponse> </soapenv:Body> </soapenv:Envelope>Die WSDL-Unterstützung muss extern erstellt werden. Der SOAP-Endpunkt muss an den betreffenden geskripteten Webservice zurückverwiesen werden.