Serviços web diretos

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Um serviço web direto estará 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 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 on-line, use o seguinte URL: https://<instance name> .service-now.com/incident.do?WSDL .

    Parâmetros de consulta estendidos

    Os parâmetros de consulta estendidos 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 de gerador de feed RSS. <__encoded_query>active=true^category='hardware'</__encoded_query>
    __ordenar_por 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>data_aberta</__order_by_desc>
    __excluir_colunas Especifique uma lista de nomes de campos 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>
    __limite Limite o número de registros retornados. <__limit>100</__limit>
    __first_row Instrua os resultados a serem compensados 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>
    __usar_exibir 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 contiver 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 serviço web direto de cada tabela tenha um atributo targetNamespace exclusivo. Esta propriedade é verdadeira por padrão, o que requer que o WSDL de serviço web direto da tabela use 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 entre solicitações entre várias tabelas. O uso de um valor targetNamespace exclusivo permite que os clientes de serviço da Web distingam as solicitações entre várias tabelas.

    Por exemplo, o WSDL de 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" >

    Como definir requisitos de namespace

    Por padrão, o esquema WSDL da ServiceNow declara um atributo de elementFormDefault="unqualified". 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 unqualified, 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 forma como os clientes gerados a partir de 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. Definir como falso permite que os clientes gerados a partir de WSDL analisem o valor de retorno da invocação de 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.