Personalizar resposta
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
-
Crie um documento XML personalizado usando o objeto de inclusão de script XMLDocument.
Nota:Ao criar um serviço Web com script em uma aplicação com escopo, você deve usar a API XMLDocument2.
-
Defina seu elemento de documento como a variável response.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 encaminhado de volta para o serviço Web com script em questão.