WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

SOAPExtract

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:

Propósito

O nó SOAPExtract pode executar duas funções:

Função Extract
O comportamento padrão é desanexar o envelope SOAP em um local padrão ($LocalEnvironment/SOAP/Envelope) na árvore LocalEnvironment. Como alternativa, você pode especificar um local explícito utilizando uma expressão XPath. Qualquer envelope SOAP existente no local escolhido será substituído.
Função Routing
A mensagem SOAP é roteada para um nó Label no fluxo de mensagens conforme identificado pela operação SOAP na mensagem. A operação SOAP é identificada na tag do corpo do SOAP.

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:

 Ícone do nó Filter

Utilizando o Nó SOAPExtract em um Fluxo de Mensagens

Examine a amostra a seguir para ver como utilizar esse nó:

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.

Configurando o Nó SOAPExtract

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.

  1. Opcional: Na guia Descrição , digite uma Descrição curta, uma Descrição longa, ou ambas. Você também pode renomear o nó nessa guia.
  2. Na guia Básico:
    1. Especifique em Remover Envelope se o nó deve remover o envelope soap e colocá-lo em um determinado local em Destino do Envelope ou deixá-lo na mensagem. O valor padrão é que o nó remove o envelope.
    2. Em Destino do Envelope, digite uma expressão XPath que representa o destino para o qual o nó copiará o envelope. Por padrão, o nó copia o envelope para LocalEnvironment ($LocalEnvironment/SOAP/Envelope).
    3. Em Modo do Caminho de Destino, especifique o comportamento da propriedade Destino do Envelope.
      • Criar Caminho: O nó cria a árvore se o caminho especificar um local que ainda não existe. Apenas expressões simples no formato aaa/bbb/ccc em Destino do Envelope são suportadas. O padrão.
      • Local de XPath do Elemento Existente: Se você souber que o elemento de destino existe, é possível utilizar qualquer expressão XPath 1.0 válida em Destino do Envelope.
    4. Em Rotear para Rótulo 'Operação', especifique se o nó deve rotear a mensagem para a operação SOAP determinada na mensagem. A configuração padrão é para o nó enviar a mensagem para o terminal Out.
    5. Em Prefixo do Rótulo, digite o valor a ser prefixado ao rótulo utilizado para roteamento pelo nó. A inserção de um prefixo permite espaço de nomes entre os subfluxos. Por padrão, nenhum valor é prefixado ao nome do rótulo para rotear a mensagem.

Analisadores Suportados

Este nó foi projetado para funcionar com mensagens SOAP. Utilize um dos seguintes analisadores:
  • SOAP
  • XMLNSC
  • MRM
  • XMLNS
Outros analisadores XML não são suportados, porque não suportam espaços de nomes. Será emitida uma exceção se for recebida uma mensagem que não esteja utilizando o analisador correto ou não estiver em conformidade com a estrutura básica de uma mensagem SOAP.

A validação completa não é feita na mensagem SOAP, que precisa conter apenas um elemento body.

Terminais e Propriedades

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:
$Root
A raiz da árvore de mensagens.
$Body
O último filho da raiz da árvore de mensagens (equivalente a /).
$LocalEnvironment
A raiz da árvore LocalEnvironment.
$Environment
A raiz da árvore Ambiente Global.
Modo do caminho de destino Não Não Criar Caminho Isso determina o comportamento da propriedade Destino do Envelope. Defina essa propriedade:
Criar Caminho
O padrão. A árvore será criada se o caminho especificar um local que não existe. Apenas expressões simples no formato aaa/bbb/ccc são suportadas.
Local do XPath do Elemento Existente
Se você souber que o elemento de destino existe, poderá digitar qualquer expressão XPath 1.0 válida.
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.
As propriedades Monitoramento do nó são descritas na tabela a seguir.
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.

Mensagens SOAP de Exemplo

Mensagem SOAP que Chega

<?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>

Mensagem Não-envelopada

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>

Envelope Removido

<?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>
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:49


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | ac60010_