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 a condição If em uma transformação If, Else if e Else

Você pode usar uma transformação If, Else if e Else para controlar o fluxo do mapeamento de dados entre os elementos definidos como um tipo específico ou derivado do conjunto da mensagem de entrada e saída, definindo as condições. Para configurar o Se condição, você deve conectar um elemento de entrada em um elemento de saída e selecionar a transformação principal de If.

Procedimento

Conclua as etapas a seguir para criar e configurar a condição If de uma transformação If, Else if e Else:

  1. Conecte o elemento Country no objeto do conjunto da mensagem de entrada, localizado em SOAP_Domain_Msg > Body > SaveAddress > Person > Address ao elemento Address no objeto do conjunto da mensagem de saída localizado em SOAP_Domain_Msg > Body > SaveAddress > Person.

    Uma transformação Mapa local é criada automaticamente.

  2. Conecte a condição Mapa local ao elemento de saída Address.
  3. Altere a transformação Mapa local para uma transformação If selecionando a seta voltada para baixo que está localizada no lado direito da transformação Mapa local.
    1. Clique com o botão esquerdo na seta localizada à direita da transformação Mapa local.

      A figura a seguir mostra graficamente como selecionar a transformação If.

      Esta figura mostra a transformação Mapa local com a seta cercada por um círculo vermelho.
    2. Selecione a transformação If localizada em Transformações Principais.

      A figura a seguir mostra graficamente a lista das transformações principais disponíveis:

      Esta figura mostra graficamente a lista das transformações principais disponíveis.

      Você recebe uma condição If com um ponto de exclamação vermelho conectado a dois elementos de entrada e um elemento de saída.

      Nota: Você irá resolver esses erros, concluindo o cenário

      O ponto de exclamação vermelho no lado esquerdo da condição If destaca os vários problemas de validação. Um dos erros indica que a condição If não contém uma expressão. O segundo erro informa que você deve definir transformações para todos os elementos no mapa aninhado associada à condição If. Este mapa aninhado é o mapa que você usa para definir como um endereço com um tipo derivado CanadianAddress é mapeado para o tipo de endereço de base Address.

      Esta figura mostra o mapa de mensagem depois de você conectar o endereço que possui o CanadianAddress como seu tipo derivado para a transformação If.
  4. Conecte o endereço que tem o CanadianAddress como seu tipo derivado à transformação If.

    A figura a seguir mostra o mapa de mensagem depois que você criar a conexão:

    Esta figura mostra o mapa de mensagem com o elemento Country e o elemento Address de tipo CanadianAddress para uma condição If e uma conexão da condição para o elemento de saída Address.
  5. Selecione a condição If e, em seguida, defina a expressão na guia Condição nas propriedades Transformação – If. Conclua as etapas a seguir:
    1. Pressione Ctrl + barra de espaço para obter a lista de elementos.

      A figura a seguir mostra os elementos disponíveis para seleção no cenário:

      Esta figura mostra a lista de elementos que estão disponíveis quando você pressione Ctrl+barra de espaço.
      Nota: Embora você possa inserir a expressão XPATH diretamente, lembre-se de que, dependendo das etapas executadas para criar sua solução de integração, os nomes das variáveis que são gerados são diferentes do nome do elemento no arquivo de esquema. O nome do elemento possui um ID concatenado ao final do nome que é definido automaticamente pela ferramenta.
    2. Selecione um elemento e dê um clique duplo nele.
    3. Defina a expressão XPATH relacionada a essa variável.
    4. Repita as etapas a seguir, se sua expressão XPATH incluir mais de um elemento de entrada.

    A condição é uma expressão XPath 2.0, que você pode definir diretamente, ou pode criar por meio do construtor de expressão XPath, clicando em Editar.

    No cenário, se você mesmo criou o fluxo de mensagens, a expressão será semelhante a, mas não exatamente $Country4 = 'Canada'.

    A figura a seguir mostra a guia de propriedades para a transformação: If

    Esta figura mostra a guia de propriedades para a transformação If e a expressão XPath para configurar a condição.

Resultados

Agora você definiu e configurou a condição If.

O que Fazer Depois

Defina a condição Else If da transformação If. Para obter informações adicionais, consulte Configurando a condição Else If em uma transformação If, Else if e Else.