Personalize a resposta

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • Siga este exemplo para personalizar e controlar a carga XML de uma resposta SOAP.

    Antes de Iniciar

    Função necessária: web_service_admin ou admin

    Procedimento

    1. Crie um documento XML personalizado usando XMLDocument objeto de inclusão de script.
      Nota:
      Ao criar um serviço web com script em uma aplicação com escopo, você deve usar XMLDocument2 API.
    2. Defina seu elemento de documento como a variável ResponseElement.soapResponseElement em um serviço web com script.
      Por exemplo, o seguinte script de serviço web com script:
      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();
      É usado para aceitar a seguinte solicitação:
      <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>
      Que responderá com a seguinte resposta SOAP:
      <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>

      O suporte a WSDL precisará ser criado externamente. O endpoint SOAP precisará ser referenciado novamente para o serviço web com script em questão.