Serviços Web diretos

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Um serviço Web direto está disponível para qualquer tabela no sistema se a lista de controle de acesso correta estiver configurada.

    O formato compatível da mensagem de entrada é o estilo de documento literal XML SOAP (Documento/Literal). Para recuperar uma descrição de WSDL de serviço Web direto e um esquema XML, aponte para a URL relativa<tablename> .do?WSDL. Por exemplo, para recuperar o WSDL da tabela Incidente no sistema de demonstração online, use o seguinte URL: https://<instance name> .service-now.com/incident.do?WSDL .

    Parâmetros de consulta estendidos

    Os parâmetros de consulta estendida permitem filtrar e modificar os resultados retornados de uma consulta SOAP ao usar as funções get, getKeyse getRecords.
    Nota:
    Os nomes de elemento de consulta estendida são precedidos por dois caracteres de sublinhado.
    Tabela 1. Parâmetros de consulta estendida disponíveis
    Parâmetro Descrição Exemplo
    __encoded_query Especifique uma cadeia de caracteres de consulta codificada a ser usada na filtragem dos resultados retornados. O formato da cadeia de caracteres de consulta codificada é semelhante ao valor que pode ser especificado em um parâmetro de URL sysparm_query. Consulte o exemplo de criação de consulta codificada nos exemplos do gerador de feed RSS. <__encoded_query>active=true^category='hardware'</__encoded_query>
    __order_by Instrua os resultados retornados a serem ordenados pelo campo especificado. <__order_by>prioridade</__order_by>
    __ordenar_por_desc Instrua os resultados retornados a serem ordenados pelo campo especificado, em ordem decrescente. <__order_by_desc>opened_date</__order_by_desc>
    __exclude_columns Especifique uma lista de nomes de campo delimitados por vírgulas a serem excluídos do conjunto de resultados. <__exclude_columns>sys_created_on,sys_created_by,caller_id,priority</__exclude_columns>
    __limit Limite o número de registros retornados. <__limit>100</__limit>
    __first_row Instrua os resultados a serem deslocados por este número de registros desde o início do conjunto. Quando usado com __last_row tem o efeito de consultar uma janela de resultados. Os resultados incluem o número da primeira linha. <__first_row>250</__first_row>
    __última_linha Instrua os resultados a serem limitados por este número de registros desde o início do conjunto ou pelo valor __start_row quando especificado. Quando usado com __first_row tem o efeito de consultar uma janela de resultados. Os resultados são menores que o último número de linha e não incluem a última linha. <__last_row>500</__last_row>
    __use_view Especifique uma exibição de formulário por nome, a ser usada para limitar e expandir os resultados retornados. Quando a exibição do formulário contém campos referenciados profundos, como caller_id.email, este campo também será retornado no resultado. <__use_view>soap_view</__use_view>

    Namespace de serviços web diretos

    Especificar um namespace exclusivo para cada tabela

    A propriedade glide.wsdl.definition.use_unique_namespace garante que o WSDL de cada serviço Web direto da tabela tenha um atributo targetNamespace exclusivo. Esta propriedade é verdadeira por padrão, o que requer um WSDL de serviço Web direto da tabela para usar um valor targetNamespace de http://www.service-now.com/<table name>. Quando falso (ou quando a propriedade não está presente), todas as tabelas usam o mesmo valor targetNamespace de http://www.service-now.com. Como todas as tabelas também compartilham os mesmos nomes de operação, um cliente de serviço Web que tente consumir mais de um ServiceNow serviço Web não conseguirá diferenciar as solicitações entre várias tabelas. Usar um valor targetNamespace exclusivo permite que os clientes do serviço Web distingam as solicitações entre várias tabelas.

    Por exemplo, o WSDL do serviço Web direto para a tabela de incidentes usa este valor targetNamepsace :

    <wsdl:definitions xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/"xmlns:tns = "http://www.service-now.com/incident"xmlns:xsd = "http://www.w3.org/2001/XMLSchema"xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"targetNamespace = "http://www.service-now.com/incident" ><wsdl:types><xsd:schema elementFormDefault = "unqualified"targetNamespace = "http://www.service-now.com/incident" >

    Configuração de requisitos de namespace

    O esquema WSDL da ServiceNow declara um atributo de elementFormDefault="unqualified"por padrão. Este atributo indica se os elementos declarados localmente devem ou não ser qualificados pelo targetNamepsace em um documento de instância. Se o valor deste atributo for não qualificado, os elementos declarados localmente não deverão ser qualificados pelo targetNamepsace. Se o valor deste atributo for qualificado, os elementos declarados localmente deverão ser qualificados pelo targetNamepsace.

    No entanto, isso é incompatível com a maneira como os clientes gerados a partir do WSDL (por exemplo, .NET, Axis2, webMethods) processam o esquema incorporado. Como resultado, ele remove o namespace do esquema, tornando a resposta do serviço Web não analisável.

    Para superar esse problema de compatibilidade, uma propriedade booliana chamada glide.wsdl.schema.UnqualifiedElementFormDefault foi introduzida. Esta propriedade tem o valor verdadeiro por padrão. Defini-lo como falso permite que os clientes gerados a partir do WSDL analisem o valor de retorno da invocação do serviço Web. Você pode modificar esta propriedade usando a página de propriedades dos Serviços Web em Propriedades do sistema > Serviços Web.

    Permitir nomes de serviço duplicados

    Por padrão, os nomes de serviço do WSDL gerado dinamicamente são exclusivos e têm o seguinte formato:

    ServiceNow_<table name>

    Para permitir nomes de serviço duplicados, os administradores podem definir a propriedade glide.wsdl.unique_service_name como falsa. Crie a propriedade se ela não existir.