Antwort anpassen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Folgen Sie diesem Beispiel, um die XML-Nutzlast einer SOAP-Antwort anzupassen und zu steuern.

    Vorbereitungen

    Erforderliche Rolle: web_service_admin oder admin

    Prozedur

    1. 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 verwenden XMLDocument2 API.
    2. 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.