SOAPMessageV2 - escopo, global
. SOAPMessageV2 A API fornece métodos para enviar uma mensagem SOAP de saída usando JavaScript.
Use esta API para gerenciar a resposta retornada pelo provedor de SOAP.
Você pode usar esta API em aplicações com escopo ou no escopo global. Esta API é executada no sn_ws namespace.
SOAPMessageV2 - SOAPMessageV2()
Instancia um objeto SOAPMessageV2 vazio.
Ao usar um objeto instanciado dessa maneira, você deve especificar manualmente uma ação de SOAP e um endpoint.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var sm = new sn_ws.SOAPMessageV2();
SOAPMessageV2 - SOAPMessageV2 (cadeia de caracteres soapMessage, cadeia de caracteres soapFunction)
Instancia um objeto SOAPMessageV2 de um registro de mensagem SOAP e uma função associada a esse registro.
Valores como endpoint, autenticação ou MID ServerAs configurações do registro de mensagem SOAP se aplicam a este objeto.
| Nome | Tipo | Descrição |
|---|---|---|
| Mensagem | Cadeia de caracteres | Registro de mensagem SOAP que você deseja usar como base para este objeto. |
| SoapFunction | Cadeia de caracteres | Função SOAP que você deseja executar. As funções de SOAP disponíveis dependem do WSDL fornecido pelo provedor de serviços web. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
SOAPMessageV2 - execute()
Envia a mensagem SOAP para o endpoint.
Este método chama de forma síncrona, o que significa que a execução do script aguarda até que a chamada seja concluída antes de continuar.
- Use este método somente para chamadas de serviço rápidas. Você não deve chamar esse método em alto volume, não importa o quão rápido o serviço.
- Use este método somente quando o tempo limite for muito curto, caso contrário, a instância poderá parar. Há duas propriedades que controlam o período de tempo limite, glide.http.timeoute. glide.http.connection_timeout. Por padrão, esses tempos limites são definidos como 175 segundos e 10 segundos, respectivamente.
- Em geral, se a solicitação precisar passar por MID Server, você não deve usar este método. MID ServerAs solicitações devem passar pela fila do canal de comunicação externa (ECC), que é uma fila assíncrona. O thread não só é retido pela solicitação em si, mas também é retido aguardando o. MID Serverpara responder à instância. Se MID Serversestão envolvidos, use chamadas assíncronas com uma regra de negócio de sensor.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| SOAPResponseV2 | Resposta retornada pelo provedor de SOAP. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.
SOAPMessageV2 - executeAsync()
Envia a mensagem SOAP para a fila do canal de comunicação externa (ECC).
As mensagens SOAP na fila ECC são processadas pela regra de negócios SOAPCLIENT.
Por padrão, esta regra de negócio não é executada de forma assíncrona. Para configurar esta regra de negócio para ser executada de forma assíncrona, defina Quando valor para Assíncrono e adicionar atual.update() até o final de Script . A instância não aguarda uma resposta do provedor de serviços web ao enviar uma mensagem pela fila ECC.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| SOAPResponseV2 - escopo, global | Resposta retornada pelo provedor de SOAP. Nota: Tentar usar o objeto de resposta SOAP antes que a resposta seja processada pode resultar em um erro de tempo limite. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.executeAsync();
SOAPMessageV2 - getEndpoint()
Obtém o endpoint da mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | URL do provedor de serviços web SOAP. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var endpoint = sm.getEndpoint();
SOAPMessageV2 - getRequestBody()
Retorna o conteúdo do corpo da mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Corpo da mensagem SOAP. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","StockQuoteSoap.GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var requestBody = response.getRequestBody();
SOAPMessageV2 - getRequestHeader(cadeia de caracteres headerName)
Obtém o valor de um cabeçalho HTTP especificado pelo cliente SOAP.
Por padrão, este método não pode retornar o valor de um cabeçalho definido automaticamente pelo sistema. Para conceder acesso a este método a todos os cabeçalhos, defina a propriedade glide.http.log_debug como verdadeiro.
| Nome | Tipo | Descrição |
|---|---|---|
| headerName | Cadeia de caracteres | Cabeçalho da solicitação para o qual você deseja obter o valor. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do cabeçalho especificado. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var header = sm.getRequestHeader("Accept");
SOAPMessageV2 - getRequestHeaders()
Obtém cabeçalhos HTTP que foram definidos pelo cliente SOAP e os valores associados.
Este método não retorna cabeçalhos definidos automaticamente pelo sistema. Para configurar este método para retornar todos os cabeçalhos, defina a propriedade glide.http.log_debug como verdadeiro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto que mapeia o nome de cada cabeçalho para o valor associado. |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var requestHeaders = sm.getRequestHeaders();
SOAPMessageV2 - setAllowedRedirectURIs(URIs de matriz)
Define um ou mais URIs para os quais podem ser redirecionados. O controle dos URIs de saída permitidos reduz as preocupações de segurança e ajuda a evitar ataques de redirecionamento de URL que enviam os usuários para sites maliciosos.
Para obter um meio mais abrangente de redirecionar URIs, consulte UriMatcher - Com escopo.
| Nome | Tipo | Descrição |
|---|---|---|
| URIs | Matriz | Um ou mais URIs permitidos para redirecionamento. Cada URI deve ser listado no formato "cadeia de caracteres". |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como adicionar uma lista de URLs permitidos para redirecionamento para uma função de mensagem SOAP.
// Redirection URI Allow list
try {
var sm = new sn_ws.SOAPMessageV2('TemperatureConvert', 'TempConvertHttpPost.FahrenheitToCelsius');
sm.setAllowedRedirectURIs(['https://www.w3schools.com/', 'https://www.google.com']);
sm.execute();
} catch(ex) {
var message = ex.getMessage();
}
SOAPMessageV2 - setBasicAuth(cadeia de caracteres de nome de usuário, cadeia de caracteres userPass)
Define cabeçalhos de autenticação básica para a mensagem SOAP.
A configuração de cabeçalhos de autenticação básica usando este método substitui os valores de autenticação básica definidos no registro de mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| userName | Cadeia de caracteres | Nome de usuário a ser usado ao autenticar a mensagem SOAP. |
| UserPass | Cadeia de caracteres | Senha do usuário especificado. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setBasicAuth("username","password");
SOAPMessageV2 - setEccCorrelacionator(Correlacionador de cadeia de caracteres)
Associa solicitações de saída e o registro de resposta resultante na fila ECC.
Este método se aplica somente a mensagens SOAP enviadas por meio de um MID Server. O correlacionador fornecido preenche o. Agente correlacionador Campo no registro da fila ECC da resposta. Forneça um correlacionador exclusivo para cada solicitação de saída para associar os resultados corretos na fila ECC à solicitação ao projetar a automação assíncrona por meio de um MID Server.
| Nome | Tipo | Descrição |
|---|---|---|
| correlacionador | Cadeia de caracteres | Identificador único |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setEccCorrelator("unique_id");
SOAPMessageV2 - setEccParameter(nome da cadeia de caracteres, valor da cadeia de caracteres)
Substitui um valor do banco de dados gravando na carga de mensagem SOAP.
Este método só se aplica a mensagens SOAP enviadas por meio de um MID Server. Use este método quando um valor da mensagem SOAP no banco de dados for inválido, como quando o URL do endpoint for maior que o máximo Endpoint SOAP tamanho do campo.
- source: O URL do endpoint.
- name: A função de mensagem SOAP a ser executada.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do parâmetro ECC. |
| valor | Cadeia de caracteres | Valor a ser atribuído ao parâmetro ECC especificado. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setEccParameter("source","http://very.long.endpoint");
SOAPMessageV2 - setEndpoint(endpoint de cadeia de caracteres)
Define o endpoint da mensagem SOAP.
Por padrão, a mensagem SOAP usa o endpoint especificado no registro de mensagem SOAP. Use este método para substituir o padrão. Você deve chamar este método ao usar o. SOAPMessageV2() construtor sem parâmetros.
| Nome | Tipo | Descrição |
|---|---|---|
| endpoint | Cadeia de caracteres | URL do provedor de serviços web SOAP com o qual você deseja fazer interface. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2();
sm.setEndpoint("http://web.service.endpoint");
SOAPMessageV2 - setFollowRedirect(Boolian followRedirect)
Define o parâmetro na API que controla os redirecionamentos HTTP automáticos. Por padrão, os redirecionamentos automáticos estão desativados.
Para obter informações adicionais sobre redirecionamentos HTTP, consulte Redirecionamentos em HTTP .
| Nome | Tipo | Descrição |
|---|---|---|
| Redirecionar a seguir | Booliano | Sinalizador que indica se a API deve seguir automaticamente os redirecionamentos que surgem ao executar o. SOAPMessageV2 chamada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como definir redirecionamentos automáticos e como a API manipula o redirecionamento.
var sMessage = new sn_ws.SOAPMessageV2(); //Create an empty SOAP message
sMessage.setBasicAuth('admin','admin');
sMessage.setSOAPAction('http://www.service-now.com/incident/insert'); //set the SOAP action to perform
sMessage.setEndpoint('http://<instance>.service-now.com/incident.do?SOAP'); //set the web service provider endpoint
sMessage.setRequestBody('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:inc=\"http://www.service-now.com/incident\"><soapenv:Header/><soapenv:Body><inc:insert><short_description>Test Dynamic SOAP</short_description></inc:insert></soapenv:Body></soapenv:Envelope>');
sMessage.setFollowRedirect(true);
var response = sMessage.execute();
gs.info(response.getStatusCode());
Saída:
200
O exemplo de código a seguir mostra o redirecionamento automático definido como falso. O código de status retornado é um código de redirecionamento. Nesse caso, você deve lidar com o redirecionamento no seu código.
var sMessage = new sn_ws.SOAPMessageV2(); //Create an empty SOAP message
sMessage.setBasicAuth('admin','admin');
sMessage.setSOAPAction('http://www.service-now.com/incident/insert'); //set the SOAP action to perform
sMessage.setEndpoint('http://<instance>.service-now.com/incident.do?SOAP'); //set the web service provider endpoint
sMessage.setRequestBody('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:inc=\"http://www.service-now.com/incident\"><soapenv:Header/><soapenv:Body><inc:insert><short_description>Test Dynamic SOAP</short_description></inc:insert></soapenv:Body></soapenv:Envelope>');
sMessage.setFollowRedirect(false);
var response = sMessage.execute();
gs.info(response.getStatusCode());
Saída:
3xx // Redirect status code
SOAPMessageV2 - setHttpTimeout(Number timeoutMs)
Define a quantidade de tempo que a mensagem SOAP aguarda por uma resposta do provedor de serviços web antes que a solicitação expire.
| Nome | Tipo | Descrição |
|---|---|---|
| TemporadosMs | Número | Tempo de espera por uma resposta do provedor de serviços web, em milissegundos. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setHttpTimeout(6000);
SOAPMessageV2 - setLogLevel(nível de cadeia de caracteres)
Define o nível de log desta mensagem e a resposta correspondente.
A definição de um nível de log usando a API SOAPMessageV2 substitui o nível de log configurado no registro de mensagem SOAP. Este nível de log pode não se aplicar se o domínio do endpoint for excluído ou se a propriedade glide.outbound_http_log.overrideé verdadeiro. Para exibir logs de serviço web de saída, navegue até .
| Nome | Tipo | Descrição |
|---|---|---|
| nível | Cadeia de caracteres | Nível de log. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setLogLevel("all");
SOAPMessageV2 - setMIDServer(cadeia de caracteres midServerName)
Configura a mensagem SOAP a ser enviada por meio de um MID Server.
Por padrão, a mensagem SOAP usa o. MID ServerEspecificado no registro de função de mensagem SOAP. Use este método para substituir o padrão.
| Nome | Tipo | Descrição |
|---|---|---|
| Nome do servidor | Cadeia de caracteres | Nome do MID ServerVocê deseja enviar a mensagem SOAP por. Sua instância deve ter um ativo MID Servercom o nome especificado. |
| Tipo | Descrição |
|---|---|
| vazio |
SOAPMessageV2 - setMutualAuth(cadeia de caracteres profileName)
Define o perfil do protocolo de autenticação mútua para a mensagem SOAP.
A definição de um perfil de protocolo usando este método substitui o perfil de protocolo selecionado para o registro de mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| profileName | Cadeia de caracteres | Nome do perfil de protocolo a ser usado para autenticação mútua. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setMutualAuth("auth_profile_name");
SOAPMessageV2 - setRequestBody(cadeia de caracteres requestBody)
Define o conteúdo do corpo a ser enviado ao provedor de serviços da web.
Quando você define o conteúdo do corpo usando este método, as variáveis no corpo não são substituídas por parâmetros do registro de função de mensagem SOAP. Você deve definir explicitamente todos os valores no corpo da mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| requestBody | Cadeia de caracteres | Corpo da mensagem SOAP. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var body = "<SOAP message body>";
sm.setRequestBody(body);
SOAPMessageV2 - setRequestHeader(cadeia de caracteres headerName, cadeia de caracteres headerValue)
Define um cabeçalho HTTP na mensagem SOAP com o valor especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| headerName | Cadeia de caracteres | Nome do cabeçalho. |
| headerValue | Cadeia de caracteres | Valor a ser atribuído ao cabeçalho especificado. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setRequestHeader("Accept","Application/json");
SOAPMessageV2 - setSOAPAction(cadeia de caracteres soapAction)
Define a ação de SOAP que esta mensagem de SOAP executa.
O WSDL do seu provedor de serviços web lista as ações de SOAP que você pode executar. Você deve chamar este método ao usar o. SOAPMessageV2() construtor sem parâmetros.
| Nome | Tipo | Descrição |
|---|---|---|
| SoapAction | Cadeia de caracteres | Ação SOAP executada por esta mensagem SOAP. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2();
sm.setSOAPAction("GetQuote");
//construct SOAP message by specifying endpoint and auth
sm.execute();
SOAPMessageV2 - setStringParameter(nome da cadeia de caracteres, valor da cadeia de caracteres)
Define uma variável com o nome especificado do registro de mensagem SOAP com o valor especificado.
Os caracteres reservados XML no valor são convertidos em caracteres de escape equivalentes.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável de mensagem SOAP. |
| valor | Cadeia de caracteres | Valor a ser atribuído à variável especificada. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setStringParameter("symbol","NOW");
SOAPMessageV2 - setStringParameterNoEscape(nome da cadeia de caracteres, valor da cadeia de caracteres)
Define uma variável com o nome especificado do registro de mensagem SOAP com o valor especificado.
Este método é equivalente a setStringParameter, mas não escapa aos caracteres reservados XML.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da variável de mensagem SOAP. |
| valor | Cadeia de caracteres | Valor a ser atribuído à variável especificada. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setStringParameterNoEscape("symbol","NOW");
SOAPMessageV2 - setWSSecurity(cadeia de caracteres keystoreId, cadeia de caracteres keystoreAlias, cadeia de caracteres keystorePassword, cadeia de caracteres certificateId)
Define os valores de segurança do serviço web para a mensagem SOAP.
A configuração de valores de segurança usando este método substitui os valores de segurança do serviço web definidos para o registro de mensagem SOAP.
| Nome | Tipo | Descrição |
|---|---|---|
| KeystoreId | Cadeia de caracteres | SYS_id do armazenamento de chaves Java ou PKCS12 a ser usado. |
| KeystoreAlias | Cadeia de caracteres | Alias que identifica as chaves públicas e privadas. |
| KeystorePassword | Cadeia de caracteres | Senha atribuída ao registro de armazenamento de chaves. |
| CertificateId | Cadeia de caracteres | Sys_id do certificado do servidor confiável. |
| Tipo | Descrição |
|---|---|
| vazio |
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setWSSecurity("70d65e074f3812001f6eac118110c71a","Quote keys","UXr82cqX75Z7MaSa+EyjGA==","ba969a074f3812001f6eac118110c76d");