Serviços web diretos
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
| 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 .
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.