Utilize o nó SOAPExtract para remover os envelopes SOAP, permitindo que somente o corpo de uma mensagem SOAP seja processado. Ele também pode rotear uma mensagem SOAP com base em seu nome de operação. Ambas as funções são opcionais; elas estão contidas em um nó, porque são, frequentemente, usadas juntas.
Este tópico contém as seguintes seções:
O nó SOAPExtract pode executar duas funções:
Certifique-se de que as opções do analisador de mensagens na pasta de propriedades da mensagem de saída estejam corretamente configuradas para analisar a mensagem, copiando o conjunto e o formato de mensagens da mensagem de entrada. O tipo de mensagem é derivado do primeiro filho do corpo da mensagem de envelope SOAP.
Apenas um único filho do corpo da mensagem SOAP é suportado.
O nó SOAPExtract está contido no repositório Serviços da Web da paleta, e é representado em um ambiente de trabalho pelo seguinte ícone:
Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere® Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.
Quando tiver colocado uma instância do nó SOAPExtract em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades.
A validação completa não é feita na mensagem SOAP, que precisa conter apenas um elemento body.
Os terminais do nó SOAPExtract são descritos na tabela a seguir:
Terminal | Descrição |
---|---|
Entrada | O terminal de entrada que aceita uma mensagem SOAP para processamento pelo nó. |
Out | O terminal de saída que produz o corpo da mensagem SOAP (sem o envelope se a caixa de opção Remover Envelope estiver selecionada nas propriedades do nó). |
Failure | O terminal de saída para o qual a mensagem será roteada se for detectado um defeito durante o processamento. |
As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco caso seja necessário digitar um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens ao arquivo BAR para implementá-lo).
As propriedades Descrição do nó SOAPExtract são descritas na tabela a seguir.
Propriedade | M | A | Padrão | Descrição |
---|---|---|---|---|
Nome de nó | Não | Não | O tipo de nó | O nome do nó. |
Short description | Não | Não | Uma breve descrição do nó. | |
Descrição Longa | Não | Não | Texto que descreve a finalidade do nó no fluxo de mensagens. |
As propriedades Básicas do nó SOAPExtract são descritas na tabela a seguir.
Propriedade | M | A | Padrão | Descrição |
---|---|---|---|---|
Remover Envelope | Não | Não | Selecionado | Se você selecionar a caixa de opção, o nó removerá o cabeçalho SOAP da mensagem. Para uma árvore SOAP, o nó produz para o terminal Out o primeiro filho de SOAP.body a partir da árvore SOAP. Produz a saída para Destino do Envelope de toda a árvore SOAP menos o primeiro filho de SOAP.body. Se você limpar a caixa de opção, o nó deixará o envelope na mensagem. No caso de uma árvore SOAP, a árvore completa será propagada para o terminal Out. |
Destino do Envelope | Não | Não | $LocalEnvironment/SOAP/Envelope | Uma expressão XPath que representa o destino para o qual
o nó copiará o envelope SOAP. Estão disponíveis os seguintes nomes de correlação:
|
Modo do caminho de destino | Não | Não | Criar Caminho | Isso determina o comportamento da propriedade Destino do Envelope. Defina essa propriedade:
|
Rota para o rótulo 'operação' | Não | Não | Não selecionada | Essa propriedade determina se o nó deve rotear a mensagem para a
operação SOAP determinada na mensagem. Se você selecionar a caixa de opção, a mensagem será roteada para um nó Label que corresponde à operação SOAP. Uma exceção é lançada se nenhum nó Label for correspondente. O nome do primeiro elemento filho do corpo SOAP é utilizado para determinar o nome RouteToLabel. Para os tipos de WSDL 'RPC literal' e 'wrapped doc literal', este é o nome de 'operation'. Para uma árvore SOAP, o primeiro filho de SOAP.Body fornece o nome da operação. Se você limpar a caixa de opção, o nó enviará a mensagem para o terminal Out. |
Prefixo do Rótulo | Não | Não | O valor a ser prefixado ao rótulo que o nó utiliza para roteamento. A inserção de um prefixo permite espaço de nomes entre os subfluxos. |
Propriedade | M | P | Default | Descrição |
---|---|---|---|---|
Eventos | Não | Não | Nenhum | Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar,
e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes. É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado. |
<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<tns:requestHeader>
<tns:assessorUrl>header1</tns:assessorUrl>
</tns:requestHeader>
</soapenv:Header>
<soapenv:Body>
<tns:requestAvailability>
<tns:carDetails>body1</tns:carDetails>
<tns:claimID>body2</tns:claimID>
<tns:location>body3</tns:location>
<tns:reqDate>body4</tns:reqDate>
</tns:requestAvailability>
</soapenv:Body>
</soapenv:Envelope>
O nome da operação é requestAvailability. Observe que o espaçamento de nomes foi removido da operação.
<?xml version="1.0"?>
<tns:requestAvailability
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:carDetails>body1</tns:carDetails>
<tns:claimID>body2</tns:claimID>
<tns:location>body3</tns:location>
<tns:reqDate>body4</tns:reqDate>
</tns:requestAvailability>
<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<tns:requestHeader>
<tns:assessorUrl>header1</tns:assessorUrl>
</tns:requestHeader>
</soapenv:Header>
</soapenv:Envelope>