Construindo a Amostra de Serviços da Web Usando Nós HTTP

Os serviços da Web que usam a amostra de nós HTTP possuem duas partes:

Construindo a Amostra Host de Serviço da Web

Todos os arquivos que são necessários para executar a amostra Web Service Host são fornecidos, mas se preferir criar a amostra por si mesmo, você pode usar as instruções a seguir:

Para construir a amostra Host de Serviço da Web:

  1. Importe a amostra de serviço da Web de forma que o arquivo de cabeçalho C esteja disponível para seu uso; consulte Amostra de Serviços da Web Usando os Nós HTTP.
  2. Crie um conjunto de mensagens para atender à mensagem de formato do serviço da Web (XML) e o formato legado (CWF):
    1. Inicie o WebSphere Message Broker Toolkit.
    2. Clique em Arquivo > Novo > Conjunto de Mensagens.
    3. No campo Nome do Conjunto de Mensagens, insira o nome WSHOST_BUILD_MS1.
    4. No campo Nome do Projeto do Conjunto de Mensagens, insira o nome WSHOST_BUILD_MSP1 e clique em Avançar.
    5. No campo Selecionar o tipo de dados de mensagem que você estará trabalhando com mais freqüência, selecione Documentos XML (geral), selecione Dados binários (por exemplo, estruturas C ou COBOL), clique em Terminar.
    6. Na guia messageSet.mset, na Hierarquia de Propriedades, clique com direito em Binary1, selecione Renomear e entre o novo nome CWF1, clique em Terminar.
    7. Salve e feche messageSet.mset.
  3. Importe um arquivo de cabeçalho C, que mapeia para a mensagem de entrada e saída do aplicativo legado:
    1. Na visualização de Desenvolvimento de Broker, copie o arquivo legacyservice.h a partir do projeto WSHOST_LEGACY1 e cole-o no projeto WSHOST_BUILD_MSP1.
    2. Crie um arquivo de definição de mensagem a partir do arquivo de cabeçalho C:
      1. Na visualização de Desenvolvimento de Broker, em WSHOST_BUILD_MSP1, clique com o botão direito do mouse em legacyservice.h, clique em Novo > Arquivo de Definição de Mensagem De > Arquivo de Cabeçalho C, clique em Próximo.
      2. Assegure-se de que o campo Conjunto de mensagens esteja configurado para /WSHOST_BUILD_MSP1/WSHOST_BUILD_MS1.
      3. Defina Espaço de Nomes de Destino para http://www.brokersamplewshost.ibm.com, clique em Próximo.
      4. Na área de janela Estruturas de Origem, clique em tagIA81CONF, clique no botão de seta para a direita (>) e clique em Selecionar Tudo > Concluir.
    3. Na área de janela legacyservice.mxsd, expanda e clique com direito em Mensagens. Selecione Incluir Mensagem. Entre IA81CONFIN, clique em Tipo Complexo, selecione tns:tagIA81CONF a partir da lista. Repita esta etapa para o IA81CONFOUT.
    4. Salve e feche legacyservice.mxsd.
  4. Construa uma definição de mensagem SOAP:
    1. Na visualização Desenvolvimento do Broker, clique com o botão direito do mouse no conjunto de mensagens WSHOST_BUILD_MS1, que já foi criado, em seguida, clique em Novo > Arquivo de Definições de Mensagens de > Mensagem Fornecida pela IBM.
    2. Na área de janela Mensagens Fornecidas pela IBM, selecione SOAP 1.1 Envelope e clique em Concluir.
    3. Salve e feche o soapenv11.mxsd.

      Diversos avisos são mostrados na visualização Problemas do Message Broker Toolkit. Esses problemas são causados tendo um CWF definido para uma definição de mensagem SOAP. Você pode ignorar os avisos.

  5. Gere o WSDL:
    1. Na visualização de Desenvolvimento Broker, clique com direito no conjunto de mensagens WSHOST_BUILD_MS1, selecione Gerar > Definição WSDL.
    2. Selecione Gerar uma nova definição WSDL a partir de definições de mensagem existentes, clique em Próximo.
    3. Destaque WSHOST_BUILD_MSP1, clique em Criar Nova Pasta.
    4. Digite wsdl como o nome da pasta, clique em OK, clique em Próximo.
    5. Na área de janela "Especificar Detalhes de WSDL", assegure que Estilo esteja configurado para documento e clique em Avançar.
    6. Na área de janela Operações, a partir da lista, selecione IA81CONFIN para Entrada, e IA81CONFOUT para Saída, clique em Próximo.
    7. Na área de janela Ligações, selecione o botão de rádio SOAP/HTTP e configure o Endereço de Porta para http://localhost:7080/samplebrokerwshost, clique em Terminar.
  6. Crie um fluxo de mensagens. O fluxo toma um pedido de HTTP, executa o aplicativo legado usando o WebSphere MQ, e envia informações a partir da resposta do aplicativo legado para o solicitante HTTP.

    Para criar o fluxo de mensagens:

    1. Clique em Arquivo > Novo > Projeto do Message Broker.
    2. Configure o Nome do Projeto para WSHOST_BUILD_MFP1, clique em Próximo.
    3. Na área de janela "Projetos Referidos", selecione a caixa de opção WSHOST_BUILD_MSP1 e clique em Concluir.
    4. Na visualização de Desenvolvimento de Intermediário, clique com direito em WSHOST_BUILD_MFP1, clique em Novo > Fluxo de Mensagns.
    5. Configure Nome do fluxo de mensagens para WSHOST_WSHOST1.
    6. Libere o Usar esquema de intermediário padrão.
    7. Configure o Esquema para WSHOST_MFP1, clique em Terminar.
    8. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir.
      Para obter instruções, consulte Incluindo um Nó na documentação do WebSphere Message Broker.
      Gavetas de Paleta Tipo de Nó Nome de Nó
      HTTP HTTPInput Entrada HTTP
      Transformação Compute Compute
      Transformação Compute Compute1
      Transformação Compute Compute2
      WebSphere MQ MQOutput MQOutput para legado
      WebSphere MQ MQOutput Estado HTTP armazenado em MQOutput
      WebSphere MQ MQGet Estado HTTP armazenado em MQGet
      WebSphere MQ MQInput MQInput de legado
      HTTP HTTPReply HTTPReply
    9. Conecte os nós conforme mostrado na tabela a seguir.
      Para obter instruções, consulte Conectando Nós na documentação do WebSphere Message Broker.
      Nome de Nó Terminal Conectar a esse Nó
      HTTPInput Out Compute
      Compute Out MQOutput para legado
      MQOutput para legado Out Compute1
      Compute1 Out Estado HTTP armazenado em MQOutput
      MQInput de legado Out Estado HTTP armazenado em MQGet
      Estado HTTP armazenado em MQGet Out Compute2
      Compute2 Out HTTPReply
  7. Customize o nó HTTPInput:
    1. Clique com o botão direito do mouse no nó HTTPInput e clique em Propriedades.
    2. Clique em Básico e configure Sufixo do Caminho para a URL como /samplebrokerwshost.
    3. Clique em Análise de Mensagem de Entrada:
      • Para Domínio de Mensagem, selecione MRM na lista.
      • Para o Conjunto de mensagens, selecione WSHOST_BUILD_MS1 a partir da lista.
      • Para o Tipo de Mensagem, selecione Envelope.
      • Para Formato da Mensagem, selecione XML1 na lista.
    4. Salve e feche a visualização Propriedades.
  8. Customize o nó Compute:
    1. Clique com o botão direito do mouse no nó Compute e clique em Abrir ESQL.
    2. Digite o ESQL a seguir entre as declarações de INÍCIO e FIM para a Função Principal(). Utilize o Assistente de Conteúdo (Ctrl + espaço) para selecionar palavras-chave. Instruções DECLARE NAMESPACE semelhantes às instruções que são comentadas nas primeiras duas linhas são geradas quando você utiliza o Assistente de Conteúdo pela primeira vez para selecionar o elemento Corpo SOAP e quaisquer elementos IA81CONFIN. Se estiver copiando e colando esse código, certifique-se de remover o comentário das instruções DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      	CALL CopyMessageHeaders();
      
      -- A saída é MQ, portanto, remova cabeçalhos HTTP
      	SET OutputRoot.HTTPInputHeader = null;
      
      -- A saída é legada, portanto, defina o formato de ligação e o nome da mensagem
      	SET OutputRoot.Properties.MessageType = 'msg_tagIA81CONF';
      	SET OutputRoot.Properties.MessageFormat = 'CWF1';
      
      -- Incluir MQMD
      	CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
      
      -- Construir mensagem para ser enviada ao legado
      	SET OutputRoot.MRM.MessageId
      	    = InputBody.tns:Body.ns:IA81CONFIN.MessageId;
      	SET OutputRoot.MRM.OrderNumber
          	= InputBody.tns:Body.ns:IA81CONFIN.OrderNumber;
      	SET OutputRoot.MRM.ItemReference
          	= InputBody.tns:Body.ns:IA81CONFIN.ItemReference;
      	SET OutputRoot.MRM.ItemQuantity
          	= InputBody.tns:Body.ns:IA81CONFIN.ItemQuantity;
      	SET OutputRoot.MRM.CustomerNumber
          	= InputBody.tns:Body.ns:IA81CONFIN.CustomerNumber;
      	SET OutputRoot.MRM.DeliveryRef
          	= InputBody.tns:Body.ns:IA81CONFIN.DeliveryRef;
      	SET OutputRoot.MRM.Confirm
          	= InputBody.tns:Body.ns:IA81CONFIN.Confirm;
      	SET OutputRoot.MRM.filler1
          	= InputBody.tns:Body.ns:IA81CONFIN.filler1;
      
      	RETURN TRUE;
    3. Salve e feche a guia WSHOST_WSHOST1.esql.
  9. Customize o MQOutput para nó de legado:
    1. Clique com direito em MQOutput para o nó de legado, clique em Propriedades.
    2. Se você pretende executar o aplicativo legado em um gerenciador de filas do WebSphere MQ diferente para o intermediário, selecione Básico e configure Nome do Gerenciador de Filas como o nome do gerenciador de filas do seu aplicativo legado. Caso contrario, deixe-o em branco.
    3. Defina Nome da Fila para WSHOST1_OUT1.
    4. Clique em Avançado, configure o Modo de Transação para Sim.
    5. Defina Contexto da Mensagem para Padrão.
    6. Clique em Pedido e selecione Pedido.
    7. Configure a Fila para Responder para WSHOST1_IN1, em seguida salve e feche a visualização de Propriedades.
  10. Customize o nó Compute1:
    1. Clique com direito no nó Compute1, clique em Abrir ESQL.
    2. Codifique o ESQL a seguir entre as declarações de INÍCIO e FIM para a Função Principal(). Utilize o Assistente de Conteúdo (Ctrl + espaço) para selecionar palavras-chave. Uma instrução DECLARE NAMESPACE semelhante à instrução que é comentada na primeira linha é gerada quando o Assistente de Conteúdo é utilizado pela primeira vez para selecionar a instrução Corpo SOAP. Assegure-se de remover o comentário das declarações DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      -- A mensagem de saída construída nesse nó armazena o contexto HTTP.
      -- Qualquer formato pode ser adequado, mas estamos utilizando um campo
      -- autodefinido em um Cabeçalho SOAP para fazer isso
      -- Portanto, o formato de ligação é XML
      -- Criar as propriedades do conjunto de mensagens de destino
      
      	SET OutputRoot.Properties.MessageSet = InputRoot.Properties.MessageSet;
      	SET OutputRoot.Properties.MessageType = 'Envelope';
      	SET OutputRoot.Properties.MessageFormat = 'XML1';
      
      -- Criar o MQMD e definir o CorrelId
      -- O CorrelId precisa ser definido como MsgId da mensagem enviada para
      -- o aplicativo legado.  Quando a resposta do aplicativo
      -- legado for recebida, utilizaremos MQGet da fila de
      -- armazenamento com correlid igual ao correlid da resposta legada
      
      	SET OutputRoot.MQMD.CorrelId
      = InputLocalEnvironment.WrittenDestination.MQ.DestinationData.msgId;
      
      -- Construir mensagem para armazenar contexto HTTP
      
      	SET OutputRoot.MRM.tns:Header.HTTP.RequestIdentifier
          = InputLocalEnvironment.Destination.HTTP.RequestIdentifier;
      
      	RETURN TRUE;
    3. Salve e feche a guia WSHOST_WSHOST1.esql.
  11. Customize o nó do estado HTTP armazenado por MQOutput:
    1. Clique com o botão direito do mouse no nó de estado HTTP armazenado por MQOutput e clique em Propriedades.
    2. Clique em Básico e configure Nome do Gerenciador de Filas como WSHOST1_STATE1.
    3. Clique em Avançado e configure Modo de Transação como Sim.
    4. Defina Contexto da Mensagem para Padrão.
    5. Salve e feche a visualização Propriedades.
  12. Customize o MQInput para nó de legado:
    1. Clique com o botão direito do mouse no MQInput para nó de legado e clique em Propriedades.
    2. Clique em Básico e configure Nome da Fila como WSHOST1_IN1.
    3. Clique em Análise de Mensagem de Entrada:
      • Para Domínio de Mensagem, selecione MRM na lista.
      • Para o Conjunto de mensagens, selecione WSHOST_BUILD_MS1 a partir da lista.
      • Para o Tipo de mensagem, selecione msg_tagIA81CONF.
      • Para Formato da Mensagem, selecione CWF1 na lista.
    4. Salve e feche a visualização Propriedades.
  13. Customize o nó de estado HTTP armazenado por MQGet:
    1. Clique com o botão direito do mouse no nó HTTP armazenado por MQGet e clique em Propriedades.
    2. Clique em Básico e configure Nome da Fila como WSHOST1_STATE1.
    3. Clique em Análise de Mensagem de Entrada:
      • Para Domínio de Mensagem, selecione MRM na lista.
      • Para o Conjunto de mensagens, selecione WSHOST_BUILD_MS1 a partir da lista.
      • Para Tipo de Mensagem, digite Envelope.
      • Para Formato da Mensagem, selecione XML1 na lista.
    4. Clique em Avançado:
      • Para Gerar Modo, selecione Mensagem e Ambiente Local na lista.
      • Para Copiar Mensagem, selecione Copiar Mensagem Inteira na lista.
    5. Clique em Pedido e selecione a caixa de opções para Obter por ID de Correlação.
    6. Clique em Resultado e configure Local dos Dados de Saída como OutputLocalEnvironment.
    7. Salve e feche a visualização Propriedades.
  14. Customize o nó Compute2:
    1. Clique com o botão direito do mouse no nó Compute2 e clique em Propriedades.
    2. Clique em Básico e configure Computar Modo como Ambiente Local e Mensagem.
    3. Salve e feche a visualização Propriedades.
    4. Clique com o botão direito do mouse no nó e clique em Abrir ESQL.
    5. Digite o ESQL a seguir entre as declarações de INÍCIO e FIM para a Função Principal(), assegure-se de que você removeu o comentário das declarações DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      -- A entrada é CWF, a saída é SOAP/XML
      	SET OutputRoot.Properties.MessageSet = InputRoot.Properties.MessageSet;
      	SET OutputRoot.Properties.MessageType = 'Envelope';
      	SET OutputRoot.Properties.MessageFormat = 'XML1';
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFOUT = InputRoot.MRM;
      
      -- Set the http reply identifier
      	SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifier =
       CAST(InputLocalEnvironment.MRM.tns:Header.HTTP.RequestIdentifier AS BLOB);
      	
      	RETURN TRUE;
  15. Salve e feche a guia WSHOST_WSHOST1.esql.
  16. Salve e feche WSHOST_WSHOST1.msgflow.
  17. Se você pretender executar o aplicativo legado em um gerenciador de filas do WebSphere MQ diferente para o intermediário, defina a fila de entrada do aplicativo legado como o gerenciador de filas do aplicativo legado. Utilize o utilitário apropriado do WebSphere MQ para digitar a seguinte definição de fila:

    DEFINE QLOCAL(WSHOST1_OUT1) REPLACE

Construindo a Amostra Cliente de Serviço da Web

Todos os arquivos que você precisa para executar a amostra Web Service Client são fornecidos, mas se você preferir criar a amostra por si mesmo, conclua as etapas a seguir:

Para construir a amostra Cliente de Serviço da Web:

  1. Importe a amostra Web Service da Galeria de Amostras e construa a amostra Web Service Host se ainda não tiver feito isso, de forma que o arquivo de cabeçalho C esteja disponível para sua utilização e consulte Amostra de Serviços da Web Usando Nós HTTP. Crie um conjunto de mensagens para atender à mensagem de formato do serviço da Web (XML) e o formato legado (CWF).
    1. Inicie o WebSphere Message Broker Toolkit.
    2. Clique em Arquivo > Novo > Conjunto de Mensagens.
    3. Defina Nome do Conjunto de Mensagens para WSCLIENT_MS1.
    4. Defina Nome do Projeto do Conjunto de Mensagens para WSCLIENT_BUILD_MSP1, depois clique em Avançar.
    5. No campo Selecionar o tipo de dados de mensagem que você estará trabalhando com mais freqüência, selecione Documentos XML (geral), selecione Dados binários (por exemplo, estruturas C ou COBOL), clique em Terminar.
    6. Na guia messageSet.mset, na Hierarquia de Propriedades, clique com direito em Binary1, selecione Renomear e entre o novo nome CWF1, clique em Terminar.
    7. Salve e feche messageSet.mset.
  2. Importe um arquivo de cabeçalho C que mapeia a mensagem de entrada e de saída do aplicativo legado:
    1. Copie o arquivo legacyservice.h do projeto WSHOST_LEGACY1, e cole-o no projeto WSCLIENT_BUILD_MSP1.
    2. Crie um arquivo de definição de mensagem a partir do arquivo de cabeçalho C:
      1. Na visualização Desenvolvimento do Broker, sob WSCLIENT_BUILD_MSP1, clique com o botão direito do mouse em legacyservice.h e, em seguida, clique em Novo > Arquivo de Definições de Mensagens de > Arquivo de Cabeçalho C.
      2. Assegure-se de que o Conjunto de Mensagens esteja configurado para /WSCLIENT_BUILD_MSP1/WSCLIENT_MS1, clique em Próximo.
      3. Na área de janela "Estruturas de Origem", clique em tagIA81BUY, clique no botão de seta para a direita (>), clique em tagIA81CONF, clique no botão de seta para a direita (>) e, em seguida, clique em Selecionar Tudo > Concluir.
    3. Salve e feche legacyservice.mxsd.
  3. Importe o WSDL para o serviço da Web.
    1. Clique em Arquivo > Importar > Geral > Sistema de Arquivo > Próximo.
    2. Navegue pelo sua área de trabalho para selecionar o diretório wsdl no projeto WSHOST_MSP1, clique em OK, selecione a caixa de opção wsdl.
    3. Configure Na Pasta como WSCLIENT_MSP1, clique em Terminar.
    4. Crie um arquivo de definição de mensagem a partir do WSDL:
      1. Na visualização de Desenvolvimento de Intermediário, no projeto WSCLIENT_MSP1 clique com direito em WSHOST_BUILD_MS1Service.wsdl, clique em Novo > Arquivo de Definição de Mensagem.
      2. Para o Selecionar o conjunto de mensagens de destino selecione WSCLIENT_MSP1/WSCLIENT_MS1.
      3. Configure o Nome do arquivo de definição de mensagem para WSHOST_BUILD_MS1Service.wsdl.
      4. Nas Configurações de Espaço de Nomes de Destino selecione a caixa de opção Usar espaço de nomes de destino. Configure o Prefixo para wshost e o Espaço de Nomes para http://www.brokersamplewshost.ibm.com/.
      5. Clique em Concluir.
  4. Crie um fluxo de mensagens. O fluxo toma um pedido de HTTP, executa o aplicativo legado usando o WebSphere MQ, e envia informações a partir da resposta do aplicativo legado para o solicitante HTTP.

    Para criar o fluxo de mensagens:

    1. Clique em Arquivo > Novo > Projeto do Message Broker.
    2. Configure o Nome do Projeto para WSCLIENT_BUILD_MFP1, clique em Próximo.
    3. Na área de janela "Projetos Referidos", selecione a caixa de opção WSCLIENT_BUILD_MSP1 e clique em Concluir.
    4. Na visualização de Desenvolvimento de Intermediário, clique com direito em WSCLIENT_BUILD_MFP1, clique em Novo > Fluxo de Mensagens.
    5. Defina Nome de Fluxo de Mensagens para WSCLIENT_WSCLIENT1.
    6. Libere a caixa de opção para Usar esquema de intermediário padrão, configure Esquema para WSCLIENT_MFP1, clique em Terminar.
    7. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir.
      Para obter instruções, consulte Incluindo um Nó na documentação do WebSphere Message Broker.
      Gavetas de Paleta Tipo de Nó Nome de Nó
      WebSphere MQ MQInput MQInput de legado
      Transformação Compute Compute
      Transformação Compute Compute1
      WebSphere MQ 1MQReply 1MQReply
      HTTP HTTPRequest HTTPRequest
    8. Conecte os nós conforme mostrado na tabela a seguir.
      Para obter instruções, consulte Conectando Nós na documentação do WebSphere Message Broker.
      Nome de Nó Terminal Conectar a esse Nó
      MQInput de legado Out Compute
      Compute Out HTTPRequest
      HTTPRequest Out Compute1
      Compute1 Out 1MQReply
  5. Customize o MQInput para nó de legado:
    1. Clique com o botão direito do mouse no MQInput para nó de legado e clique em Propriedades.
    2. Clique em Básico e configure Nome da Fila como WSCLIENT1_IN1.
    3. Clique em Análise de Mensagem de Entrada:
      • Para Domínio de Mensagem, selecione MRM na lista.
      • Para o Conjunto de Mensagens, selecione WSCLIENT_MS1 na lista.
      • Para o Tipo de Mensagem, selecione msg_tagIA81BUY na lista.
      • Para Formato da Mensagem, selecione CWF1 na lista.
    4. Salve e feche a visualização Propriedades.
  6. Customize o nó Compute:
    1. Clique com o botão direito do mouse no nó Compute e clique em Abrir ESQL.
    2. Digite o ESQL a seguir entre as declarações de INÍCIO e FIM para a Função Principal(). Utilize o Assistente de Conteúdo (Ctrl + espaço) para selecionar palavras-chave. Instruções DECLARE NAMESPACE semelhantes às instruções que são comentadas nas primeiras duas linhas são geradas quando você utiliza o Assistente de Conteúdo pela primeira vez para selecionar o elemento Corpo SOAP e quaisquer elementos IA81CONFIN. Se estiver copiando e colando esse código, certifique-se de remover o comentário das instruções DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
          CALL CopyMessageHeaders();
      
      -- Salvar o MQMD; enviando para HTTP posteriormente no fluxo o destrói
      	SET Environment.MQMD = InputRoot.MQMD;
      
      -- A entrada é CWF, a saída é SOAP, portanto, configurar formato de ligação e nome da mensagem
      	SET OutputRoot.Properties.MessageType = 'Envelope';
      	SET OutputRoot.Properties.MessageFormat = 'XML1';
      
      -- Construir mensagem para ser enviada ao serviço da Web
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.MessageId = 'IA81CONF';
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.OrderNumber = InputBody.OrderNumber;
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.ItemReference = InputBody.ItemReference;
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.ItemQuantity = InputBody.ItemQuantity;
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.CustomerNumber = InputBody.CustomerNumber;
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.DeliveryRef = ' ';
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.Confirm = ' ';
      	SET OutputRoot.MRM.tns:Body.ns:IA81CONFIN.filler1 = ' ';
      
      	RETURN TRUE;
    3. Salve e feche a guia WSCLIENT_WSCLIENT1.esql.
  7. Customize o nó HTTPRequest:
    1. Clique com direito no nó HTTPRequest e clique em visualizar Propriedades.
    2. Selecione Básico e defina URL do Serviço da Web para http://localhost:7080/samplebrokerwshost. Caso o host de intermediário do serviço da Web estiver em uma máquina diferente a desse intermediário, ou estiver usando um número de porta não padrão, ou ambos, corrija essa URL conforme apropriado.
    3. Clique em Análise da Mensagem de Resposta:
      • Para Domínio de Mensagem, selecione MRM na lista.
      • Para o Conjunto de Mensagens, selecione WSCLIENT_MS1 na lista.
      • Para o Tipo de Mensagem, digite Envelope.
      • Para Formato da Mensagem, selecione XML1 na lista.
    4. Salve e feche a visualização Propriedades.
  8. Customize o nó Compute1:
    1. Clique com o botão direito do mouse no nó Compute1 e, em seguida, clique em Abrir ESQL.
    2. Digite o ESQL a seguir entre as declarações de INÍCIO e FIM para a Função Principal(). Utilize o Assistente de Conteúdo (Ctrl + espaço) para selecionar palavras-chave. Uma declaração DECLARE NAMESPACE similar àquela comentada na primeira linha é gerada quando o Assistente de Conteúdo é usado pela primeira vez para selecionar o elemento Corpo SOAP. Assegure-se de remover o comentário das declarações DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
          CALL CopyMessageHeaders();
      
      -- A saída é MQ, portanto, remova cabeçalhos HTTP
          SET OutputRoot.HTTPResponseHeader = NULL;
      
      -- A saída é CWF, portanto, configurar as propriedades do conjunto de mensagens de destino
      
      	SET OutputRoot.Properties.MessageType = 'msg_tagIA81CONF';
      	SET OutputRoot.Properties.MessageFormat = 'CWF1';
      
      -- Criar um MQMD e restaurá-lo para os valores salvos
      
      	CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
          SET OutputRoot.MQMD = Environment.MQMD;
      
      -- Construir mensagem a ser enviada
      
      	SET OutputRoot.MRM.MessageId = InputBody.tns:Body.ns:IA81CONFOUT.MessageId;
      	SET OutputRoot.MRM.OrderNumber = InputBody.tns:Body.ns:IA81CONFOUT.OrderNumber;
      	SET OutputRoot.MRM.ItemReference = InputBody.tns:Body.ns:IA81CONFOUT.ItemReference;
      	SET OutputRoot.MRM.ItemQuantity = InputBody.tns:Body.ns:IA81CONFOUT.ItemQuantity;
      	SET OutputRoot.MRM.CustomerNumber = InputBody.tns:Body.ns:IA81CONFOUT.CustomerNumber;
      	SET OutputRoot.MRM.DeliveryRef = InputBody.tns:Body.ns:IA81CONFOUT.DeliveryRef;
      	SET OutputRoot.MRM.Confirm = InputBody.tns:Body.ns:IA81CONFOUT.Confirm;						
      	SET OutputRoot.MRM.filler1 = InputBody.tns:Body.ns:IA81CONFOUT.filler1;	
      
      	RETURN TRUE;
  9. Salve e feche a guia WSCLIENT_WSCLIENT1.esql.
  10. Customize o nó MQReply: nenhuma customização é necessária.
  11. Salve e feche WSCLIENT_WSCLIENT1.msgflow.

Voltar para o Início da Amostra