Scripted SOAP Web Services

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Os serviços Web SOAP com script permitem que um administrador ServiceNow crie serviços Web SOAP personalizados.

    Você pode definir parâmetros de entrada e saída para o serviço Web SOAP e usar JavaScript para executar operações. Embora este recurso seja muito avançado, use serviços Web diretos ou conjuntos de importação de serviços Web SOAP sempre que possível, pois eles são mais simples de implementar e manter.

    Segurança

    Os serviços Web SOAP com script têm as mesmas opções de segurança de base que todos os serviços Web SOAP. Para obter detalhes sobre a segurança de SOAP Web Services, consulte Segurança de SOAP Web Services.

    Quando a segurança estrita é aplicada em um sistema, o usuário autenticado por HTTP deve ter a função soap_script para executar o serviço Web com script.

    WSDL

    Todas as tabelas ServiceNow e conjuntos de importação geram dinamicamente documentos XML de WSDL (Web Service Definition Language, Linguagem de definição de serviço da Web) que descrevem seu esquema de tabela e as operações disponíveis.

    Imposição de conformidade com o WSDL

    Você pode forçar a resposta a listar os valores de saída na mesma ordem definida no WSDL.

    Quando você cria um serviço Web SOAP com script, o WSDL gerado é baseado nas listas relacionadas Parâmetros de entrada e Parâmetros de saída. A resposta SOAP real enviada pelo serviço com script é determinada pelo Script. Esse comportamento pode fazer com que o script retorne valores de saída em uma ordem diferente da definida no WSDL.

    Para impor a ordem dos parâmetros de saída conforme definido na lista relacionada, marque a caixa de seleção WSDL Compliance. Quando esta caixa de seleção está marcada, o serviço Web reordena os parâmetros retornados pelo script para corresponder à ordem no WSDL.
    Nota:
    Se parâmetros de resposta adicionais forem retornados pelo script, mas não estiverem definidos na lista relacionada Parâmetros de resposta, esses parâmetros serão excluídos da resposta quando o WSDL Compliance for selecionado.
    Tabela 1. Lista relacionada de parâmetros de saída
    Parâmetro Ordem
    Parâmetro 1 200
    Parâmetro 2 300
    Parâmetro 3 100

    A seguir está o script que define valores para os parâmetros de saída definidos. Observe que neste script de exemplo os parâmetros são definidos em uma ordem diferente da definida na lista relacionada Parâmetros de saída. Observe também o parâmetro adicional param4 que não está definido na lista relacionada.

    Response.param1 = 1;
    Response.param4 = 4;
    Response.param3 = 3;

    Quando a caixa de seleção WSDL Compliance é falsa, a resposta SOAP gerada pelo script é a seguinte:

    <response>
                    <param1>1</param1>
                    <param4>4</param1>
                    <param3>3</param1>
    </response>
    Quando a caixa de seleção WSDL Compliance é verdadeira, a resposta SOAP gerada pelo script é a seguinte:
    <response>
                    <param3>3</param1>
                    <param1>1</param1>
    </response>

    WSDL Estático

    Alguns clientes de serviço Web exigem acesso SOAP à sua instância por meio de um formato WSDL específico. Este formato necessário pode ser diferente do formato padrão do WSDL da ServiceNow. Nesses casos, você pode criar um WSDL estático que corresponda ao formato necessário.

    Variáveis globais

    Para facilitar o processamento personalizado de solicitações SOAP recebidas, as seguintes variáveis globais estão disponíveis no contexto de script:
    • soapRequestDocument: objeto Java org.w3c.dom.Document que representa o envelope SOAP de entrada.
    • soapRequestXML: objeto de cadeia de caracteres que representa o XML do envelope SOAP de entrada.
    • request: objeto Javascript que contém valores mapeados (mapeados para nomes de parâmetro de entrada) do envelope SOAP de entrada.
    • resposta: objeto Javascript que permite personalizar os valores de resposta. Consulte Personalizar resposta