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

Configurando o mapa de mensagem para incluir a mensagem SOAP

No WebSphere Message Broker, uma mensagem SOAP é descrita por um modelo genérico que inclui o Envelope e, opcionalmente, Anexos do SOAP. É possível definir partes da mensagem SOAP em um mapa de mensagem usando a função Cast.

Sobre Esta Tarefa

Uma mensagem SOAP consiste em um Envelope e, opcionalmente, em Anexos. O envelope contém um cabeçalho SOAP e um corpo SOAP. Um corpo SOAP pode incluir falhas SOAP.

No WebSphere Message Broker, quando você usa nós SOAP, uma mensagem SOAP é descrita por um modelo genérico. Para obter informações adicionais, consulte Visão geral da árvore SOAP.

Além das partes SOAP padrão, o modelo genérico de mensagens SOAP inclui uma parte de Contexto que inclui informações contextuais sobre a mensagem SOAP atual que está sendo processada. Essa é a única parte em um mapa de mensagem cuja estrutura é incluída automaticamente. Você deve definir as outras partes da mensagem SOAP manualmente, usando a função Cast.

A tabela a seguir compara a estrutura da mensagem SOAP com o modelo genérico da mensagem SOAP do WebSphere Message Broker:

Tabela 1. Comparação entre a estrutura da mensagem SOAP e a representação da mensagem SOAP do WebSphere Message Broker
Partes da mensagem SOAP padrão Status Partes da mensagem SOAP do WebSphere Message Broker Status do WebSphere Message Broker
    Contexto Obrigatório
Cabeçalho SOAP (parte do envelope SOAP) Opcional Cabeçalho (parte do SOAP_Domain_Msg) Opcional
Corpo SOAP (parte do envelope SOAP) Obrigatório Corpo (parte do SOAP_Domain_Msg) Obrigatório
Falhas de SOAP (parte do corpo SOAP) Opcional Falha (parte do corpo) Opcional
Anexos de SOAP Opcional Anexo (parte do SOAP_Domain_Msg) Opcional

Neste cenário, você aprende a configurar seu mapa de mensagem para mapear as partes da mensagem SOAP padrão que formam o SOAP_Domain_Msg.

Procedimento

Conclua as etapas a seguir para configurar o SOAP_Domain_Msg quando o nó Mapping estiver conectado diretamente de um nó SOAPInput a nenhum nó SOAPExtract:

  1. Defina uma transformação Mover entre o objeto de Contexto de entrada e o objeto de Contexto de saída.
  2. Defina uma transformação Mover entre o objeto de Cabeçalho de entrada e o objeto de Cabeçalho de saída.

    A figura a seguir mostra o mapa de mensagem depois de você definir uma transformação Mover para copiar o Cabeçalho.

    Esta figura mostra a transformação Mover entre o objeto de Cabeçalho de entrada e o objeto de Cabeçalho de saída e a transformação Mover entre a pasta de Contexto de entrada e a de saída.

    O elemento Header de SOAP contém informações específicas do aplicativo, incluindo atributos que definem como você deve processar a mensagem SOAP.

  3. Defina a transformação para o objeto Corpo.

    Você define as partes do corpo SOAP usando a função Cast. É possível converter os atributos e outras partes do corpo. Em seguida, defina as transformações entre os elementos de entrada e os elementos de saída em cada parte do corpo incluída.

    Conclua as etapas a seguir para definir as partes do corpo SOAP e suas transformações:

    1. Converta o elemento do corpo SOAP xsd:any em um tipo específico. Para obter informações adicionais, consulte Convertendo o corpo SOAP em um tipo específico.
    2. Converta um elemento de tipo de base do corpo SOAP em um elemento de tipo derivado. Um elemento de tipo derivado também é conhecido como um elemento de tipo de extensão. Para obter informações adicionais, consulte Configurando tipos derivados no corpo SOAP.

      Em um mapa de mensagem, você converte um tipo de base em um tipo derivado ou um tipo de extensão para que possa definir transformações entre subtipos de um tipo de dados. Por exemplo, os endereços são representados de forma diferente para diferentes países. Talvez você queira mapear endereços de países diferentes em uma estrutura complexa comum para endereços.

    3. Crie e configure a transformação If, Else if e Else para controlar o fluxo do mapeamento entre os elementos definidos como um específico ou derivado no conjunto da mensagem de entrada e de saída, definindo as condições. Para obter informações adicionais, consulte Configurando uma transformação If, Else if e Else em um mapa de mensagem.
  4. Defina uma transformação Mover entre o objeto Anexo de entrada e o objeto Anexo de saída.

Resultados

Você configurou um mapa de mensagem que transforma uma mensagem SOAP.

Quando você usa uma transformação If, Else if e Else entre o objeto SOAP_Domain_Msg de entrada e o objeto SOAP_Domain_Msg de saída, deverá configurar manualmente cada elemento no SOAP_Domain_Msg. Você deve mapear cada elemento no objeto SOAP_Domain_Msg de entrada para o objeto de saída correspondente para não perder as informações do elemento.
Nota: Os elementos que fazem parte do objeto de entrada e não possuem uma transformação definida para um objeto de saída são excluídos da estrutura de saída e seus valores são perdidos.

Agora você tem um mapa de mensagem que transforma dados de endereço, com base no país do endereço. O mapa de mensagem contém um mapa aninhado que usa a transformação If, Else if e Else definida por você.

A figura a seguir mostra o mapa de mensagem após a conclusão das etapas anteriores:

Esta figura mostra o mapa de mensagem após a configuração da transformação If, Else if e Else.

O que Fazer Depois

Você concluiu com êxito o cenário. Agora, o seu mapa está pronto para uso.