Serviço web SOAP

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 11 min. de leitura
  • SOAP (Simple Object Access Protocol) é um protocolo baseado em XML para acessar serviços web via HTTP.

    Você pode usar o SOAP para acessar dados na sua instância. Os serviços web SOAP disponíveis são compatíveis com WS-I, conforme descrito no Perfil básico WS-I 1,0.

    Provedor de serviços da web

    ServiceNow publica suas estruturas de tabela subjacentes e dados associados usando os seguintes métodos de serviço web:
    Nota:
    As mensagens SOAP são enviadas com a suposição de que o destinatário é compatível com XML. Nenhuma codificação é aplicada a uma mensagem SOAP. SOAP sempre decodifica respostas como UTF-8, o cabeçalho de codificação XML não é usado.

    WSDL

    Todas as tabelas e conjuntos de importação geram dinamicamente documentos XML de linguagem de definição de serviço web (WSDL) que descrevem o esquema de tabela e as operações disponíveis.

    Você pode obter o WSDL de uma tabela emitindo uma chamada de URL para sua instância que contém o nome da tabela e o. WSDL parâmetro. Por exemplo:
    https://myinstance.service-now.com/incident.do?WSDL
    

    Tudo gerado e atendido dinamicamente ServiceNow WSDLs acessíveis via HTTP estão disponíveis para uso sob os termos definidos no acordo de licença Open Source Initiative OSI - Apache License, versão 2,0.

    Suporte a solicitações de SOAP de longa execução

    . ServiceNow AI Platform Oferece suporte a solicitações de SOAP de longa execução, evitando tempos limite de soquete devido à inatividade da conexão de rede enquanto as solicitações estão em andamento.

    Essa funcionalidade melhora a eficiência do driver ODBC ao solicitar um grande número de registros, fazer consultas agregadas ou usar expressões de ordenação que exigem classificação.

    Por padrão, o sistema fornece proteção de tempo limite para clientes de serviços web fornecidos por ServiceNow Como o driver ODBC e o MID Server. Você pode adicionar proteção de tempo limite aos seus serviços web personalizados com propriedades do sistema.

    Tempo limite de proteção

    Os clientes de serviços web recebem um redirecionamento temporário 307 para manter sessões longas ativas e evitar um tempo limite devido à inatividade do soquete. Um redirecionamento temporário 307 faz com que os clientes de serviços web que oferecem suporte ao código de status repitam sua última solicitação para o local especificado no cabeçalho do local HTTP. O valor do cabeçalho do local é o mesmo URL especificado originalmente pelo cliente de serviços web. O uso de redirecionamentos temporários 307 é compatível com WS-I.

    Uma solicitação de serviço web que excede o limite de tempo limite especificado em glide.soap.request_processing_timeoutSó é possível receber um redirecionamento temporário 307 quando todos estas condições são atendidas:
    • O valor de glide.soapprocessor.allow_long_running_threadsé verdadeiro.
    • A solicitação inclui um redirectSupported=trueParâmetro de URL.
    • A solicitação reconhece a sessão (suporta cookies HTTP).
    • O número de redirecionamentos não excedeu o valor definido por glide.soap.max_redirects.
    Se qualquer uma dessas condições não for atendida, o cliente de serviço web receberá um erro de Tempo limite de solicitação 408.
    Nota:
    Para garantir que as aplicações tenham um tempo limite de soquete em vez de um tempo limite de solicitação de 408, defina glide.soap.request_processing_timeoutpropriedade para um valor maior que a configuração de tempo limite de soquete mais curto em vigor para a conexão entre a aplicação e a instância (300 segundos para instâncias hospedadas).

    Segurança de serviços web SOAP

    Uma instância impõe a segurança do serviço web usando uma combinação de desafio/resposta de autenticação básica pelo protocolo HTTPS e listas de controle de acesso (ACLs) no nível do sistema usando segurança contextual. Os administradores podem controlar quais recursos do sistema os usuários dos serviços web podem acessar concedendo a eles uma das funções SOAP.

    Funções SOAP

    Para usar os serviços web SOAP, você deve ter a função apropriada para a operação que deseja executar. Além disso, você deve ter outras funções necessárias para acessar as tabelas de destino.

    Tabela 1. Funções SOAP
    Função Descrição
    soap Pode executar todas as operações de SOAP.
    soap_create Pode inserir novos registros.
    soap_delete Pode excluir registros existentes.
    soap_ecc Pode consultar, inserir e excluir registros nas Filas [ecc_queue] tabela.
    soap_query Pode consultar informações do registro.
    soap_query_update Pode consultar informações do registro e atualizar registros.
    soap_script Pode executar scripts que especificam um endpoint .do. Esta função é necessária para executar serviços web com script.
    soap_update Pode atualizar registros.
    import_admin Pode gerenciar todos os aspectos de conjuntos de importação e importações. Necessário para acessar a tabela de linha do conjunto de importação [sys_import_set_row].
    transformer_import Pode gerenciar mapas de transformação de conjunto de importação e executar transformações. Necessário para acessar a tabela de linha do conjunto de importação [sys_import_set_row].

    Requisitos de função de serviços web padrão

    Por padrão, um conjunto de regras de ACL de processador exige que os usuários tenham a função SOAP_QUERY para fazer solicitações de esquema WSDL, XSD e XML.

    Se você quiser mudar esses requisitos de função, poderá desativar as regras de ACL.

    Figura 1. ACLs do processador de serviço web
    Tabela de controles de acesso.

    Autenticação básica

    Para impor a autenticação básica para o usuário associado à instância para cada solicitação de mensagem WSDL ou SOAP, os administradores podem definir a propriedade glide.basicauth.obrigatório para verdadeiro .

    Quando habilitado, cada solicitação de WSDL e SOAP deve conter um cabeçalho "Autorização", conforme especificado em Autenticação básica protocolo.

    Como as solicitações de serviços da web não são interativas, o. Autorização o cabeçalho é sempre necessário durante uma solicitação.

    Nota:
    Se configurada, a autenticação básica se refere às credenciais locais ou à autenticação LDAP.

    O fornecimento de informações básicas de autenticação com cada solicitação (seja ou não necessário) tem a vantagem adicional de que o usuário fornecido nas credenciais de autenticação básicas pode ser associado à invocação de serviço da web. Por exemplo, ao criar um registro de incidente, o campo diário lista o ID de usuário contido no cabeçalho de autenticação básica em vez do usuário convidado padrão.

    Políticas de segurança SOAP

    O plug-in Provedor de serviços da web aprimorado - Comum adiciona o módulo Políticas de segurança SOAP à aplicação de serviços da web do sistema. Este módulo permite que os administradores definam as seguintes políticas de segurança:
    • Habilite ou desabilite a assinatura de solicitações de SOAP ao consumir um serviço web externo
    • Especifique os requisitos de autenticação que as solicitações de SOAP devem atender ao se comunicar por WS-Security.

    Para saber mais sobre a política de acesso SOAP, consulte Políticas de acesso à API SOAP .

    Figura 2. Políticas de segurança SOAP
    O módulo Políticas de segurança SOAP está selecionado no menu Todos.

    Certificados necessários para solicitações de SOAP assinadas

    Para assinar solicitações de SOAP para comunicações WS-Security, os seguintes certificados são necessários:

    • Certificado X.509 do solicitante
    • Certificado de CA X.509 da autoridade certificadora que assinou o certificado do solicitante

    Política de segurança padrão DO SOAP

    Os administradores podem especificar a política de segurança SOAP que uma instância usa com a propriedade do sistema glide.soap.default_security_policy . . glide.soap.default_security_policy A propriedade do sistema especifica o nome da política de segurança SOAP que a instância usa ao impor a segurança de serviços da Web (WSS) para solicitações de entrada.

    Tabela 2. Configurações de política de segurança padrão DO SOAP
    Campo Descrição
    Tipo Cadeia de caracteres
    Valor padrão Política de segurança padrão
    Local Adicione uma propriedade do sistema Para a tabela Propriedades do sistema [sys_properties]

    WS-Security

    Você pode validar solicitações de serviços web assinadas usando ws-security. Habilitar WS-Security para:
    • Verifique se as mensagens SOAP são originadas de um remetente conhecido
    • Verifique se as mensagens SOAP não foram alteradas em trânsito
    ServiceNow. Segurança WS 1,1 para validar solicitações de serviços web assinadas.
    Nota:
    O WS-Security não é usado como um mecanismo de criptografia, o protocolo HTTPS é usado para criptografar todas as comunicações.

    O WS-Security destina-se a funcionar com autenticação básica. Quando uma instância recebe uma mensagem de SOAP, ela revisa o cabeçalho de autenticação básica para determinar se o usuário de SOAP tem direitos sobre a instância. Ele revisa o cabeçalho WS-Security para determinar a validade da mensagem de entrada. As solicitações afetadas por ataques, como um ataque man-in-the-middle, têm um cabeçalho WS-Security inválido e são bloqueadas.

    Perfis de WS-Security

    Um perfil WS-security determina como uma mensagem de serviços web é autenticada quando WS-security está habilitada. Os seguintes mecanismos podem ser usados para autenticar solicitações de serviços web:

    Tabela 3. Mecanismos de autenticação de serviço web
    Mecanismo de autenticação Descrição
    Verificação do certificado Verifica o certificado associado à solicitação. A verificação do certificado da solicitação requer o carregamento do certificado e da autoridade de certificação do solicitante.
    Credenciais do usuário Autentica a solicitação de serviços web verificando as credenciais do usuário associadas à solicitação. Esse tipo de autenticação pode verificar se as credenciais da solicitação correspondem às credenciais de um usuário existente ou se as credenciais da solicitação correspondem a um nome de usuário e senha fornecidos no registro de perfil.
    Especifique o mecanismo de autenticação que você deseja usar quando você Crie um novo perfil WS-security .

    O módulo Perfis WS-Security lista os perfis WS-Security que estão em vigor no momento.

    Figura 3. WS-módulo Perfis de segurança
    A tabela Perfis de segurança WS é preenchida com os tipos de registro X509 e Nome de usuário.

    Registro de erros do WS-Security

    . glide.processor.debug.SOAPProcessor A propriedade do sistema permite que mensagens de erro sobre WS-security sejam exibidas no log de transações.

    A propriedade do sistema glide.processor.debug.SOAPProcessor Habilita (verdadeiro) ou desabilita (falso) mensagens de depuração para processamento de SOAP, como verificações de certificado e armazenamento de chaves.

    Tabela 4. glide.processor.debug.SOAPProcessor campos
    Campo Descrição
    Tipo verdadeiro | falso
    Valor padrão falso
    Local Adicione uma propriedade do sistema Para a tabela Propriedades do sistema [sys_properties]

    Perfil de token X.509 do WSS

    Use a estrutura X.509 para um perfil de segurança X.509 do WSS. Um certificado X.509 é usado para validar uma chave pública que é usada para assinar a mensagem SOAP de entrada. Ele especifica uma vinculação entre uma chave pública e um conjunto de atributos que inclui pelo menos o seguinte:
    • nome do assunto
    • nome do emissor
    • número de série
    • intervalo de validade

    Use o. Estrutura de autenticação X.509 conforme definido pelo Segurança de serviços web: Especificação de segurança de mensagem SOAP .

    Carregue o certificado e faça referência a ele no Certificado X509 campo. Se for uma sessão vinculada, selecione o usuário para representar quando a autenticação WS-Security for bem-sucedida.

    Figura 4. Perfil de segurança X.509 do WSS
    O formulário Perfil de segurança do WS é preenchido com um tipo de usuário, pedido e certificado.

    Perfil UsernameToken do WSS

    Ao especificar o perfil de token X.509, você também pode fornecer um UsernameToken na solicitação SOAP.

    Um UsernameToken é usado como um meio de identificar o solicitante por "nome de usuário" e, opcionalmente, usando uma senha, segredo compartilhado ou senha equivalente para autenticar essa identidade.

    Há duas maneiras de autenticar um UsernameToken.

    1. Autentique com credenciais de usuário existentes.
      Figura 5. Autentique com credenciais de usuário existentes
      O formulário de perfil de segurança do WS é preenchido com o tipo de nome de usuário e a ação de perfil definida como "Autenticar com o usuário".

      Use o nome de usuário da solicitação SOAP de entrada para pesquisar um usuário pelo especificado Usuário campo para corresponder a. Nome de usuário valor. O sistema usa o valor da senha no UsernameToken de entrada para autenticar a solicitação. Quando o. Vincular sessão for selecionada, o usuário que autentica com sucesso será usado para a sessão.

    2. Autentique com credenciais de usuário especificadas.
      Figura 6. Autentique com credenciais de usuário especificadas
      O formulário Perfil de segurança do WS é preenchido com o tipo de nome de usuário, usuário e informações de perfil.

      Autentique usando credenciais de login não relacionadas aos usuários na tabela Usuário. Quando o. Vincular sessão estiver selecionada, o usuário especificado em Executar como usuário o campo é usado para a sessão.

    Nota:
    . Perfil UsernameToken Não pode ser usado independentemente do perfil de token X.509.

    Segurança estrita para serviços web

    Por padrão, a autenticação básica para serviços web determina somente se um usuário está autorizado a acessar a instância com uma conexão SOAP. Uma vez autorizado, qualquer usuário pode acessar qualquer tabela publicada como um serviço web.

    A propriedade do sistema Imponha segurança estrita nas solicitações de SOAP recebidas muda esse comportamento e requer que os usuários atendam Gerenciador de segurança contextual requisitos para acessar recursos de instância de serviços web.

    Com esta propriedade habilitada, somente os usuários que têm a função SOAP apropriada e também atendem às condições de ACL da tabela e da operação podem executar essa operação a partir de uma conexão SOAP.

    Autenticação mútua para serviços web

    A autenticação mútua é compatível com serviços web de saída.

    Relatórios e gestão de sessões SOAP

    Uma sessão SOAP é uma sessão Glide estabelecida com uma instância por qualquer cliente SOAP externo, como uma aplicação cliente de serviços web, A. ServiceNow MID Server, ou o. ServiceNow Driver ODBC. As sessões SOAP estão incluídas na lista de sessões do usuário em Administração de usuários > Usuários conectados. . SOAP As URLs identificam sessões de SOAP.

    Propriedades da sessão SOAP

    Determinadas propriedades controlam como as sessões de SOAP são mantidas.

    Tabela 5. Propriedades da sessão SOAP
    Propriedade Descrição
    glide.soap.invalidate_session_timeout Duração, em segundos, que uma sessão ativa permanece aberta. Após atingir essa duração, a instância desativa a sessão e recupera todos os recursos do sistema. Se o cliente enviar outra solicitação depois que a duração do tempo limite for atingida, a instância estabelecerá uma nova sessão.

    Esta propriedade aceita valores de 5 a 1200 segundos (20 minutos).

    • Tipo: inteiro
    • Valor padrão: 60
    • Local: Adicione às propriedades do sistema [sys_properties] tabela
    Nota:
    Para saber mais sobre propriedades que afetam o processamento de serviços web SOAP, consulte os seguintes tópicos em Configurações de proteção de segurança da instância: