Antwort anpassen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 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 die XMLDocument2- API verwenden.
    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.