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:
- Uma amostra Host de Serviço da Web
- Uma amostra Cliente de Serviço da Web
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:
- 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.
- Crie um conjunto de mensagens para atender à mensagem de formato do serviço da Web (XML) e o formato legado (CWF):
- Inicie o WebSphere Message Broker Toolkit.
- Clique em Arquivo > Novo > Conjunto de Mensagens.
- No campo Nome do Conjunto de Mensagens, insira o nome
WSHOST_BUILD_MS1.
- No campo Nome do Projeto do Conjunto de Mensagens, insira o nome
WSHOST_BUILD_MSP1 e clique em Avançar.
- 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.
- Na guia messageSet.mset, na Hierarquia de Propriedades,
clique com direito em Binary1, selecione Renomear
e entre o novo nome CWF1, clique em Terminar.
- Salve e feche messageSet.mset.
- Importe um arquivo de cabeçalho C, que mapeia para a mensagem de entrada e saída do aplicativo legado:
- 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.
- Crie um arquivo de definição de mensagem a partir do arquivo de cabeçalho C:
- 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.
- Assegure-se de que o campo Conjunto de mensagens esteja configurado para /WSHOST_BUILD_MSP1/WSHOST_BUILD_MS1.
- Defina Espaço de Nomes de Destino para http://www.brokersamplewshost.ibm.com,
clique em Próximo.
- 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.
- 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.
- Salve e feche legacyservice.mxsd.
- Construa uma definição de mensagem SOAP:
- 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.
- Na área de janela Mensagens Fornecidas pela IBM, selecione SOAP 1.1
Envelope e clique em Concluir.
- 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.
- Gere o WSDL:
- Na visualização de Desenvolvimento Broker, clique com direito no conjunto de mensagens
WSHOST_BUILD_MS1, selecione Gerar > Definição WSDL.
- Selecione Gerar uma nova definição WSDL a partir de definições
de mensagem existentes, clique em Próximo.
- Destaque WSHOST_BUILD_MSP1,
clique em Criar Nova Pasta.
- Digite wsdl como o nome da
pasta, clique em OK, clique em Próximo.
- Na área de janela "Especificar Detalhes de WSDL", assegure que
Estilo esteja configurado para documento e clique
em Avançar.
- Na área de janela Operações, a partir da lista, selecione IA81CONFIN para Entrada, e IA81CONFOUT para Saída,
clique em Próximo.
- 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.
- 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:
- Clique em Arquivo > Novo > Projeto do Message Broker.
- Configure o Nome do Projeto para WSHOST_BUILD_MFP1, clique em Próximo.
- Na área de janela "Projetos Referidos", selecione a caixa de opção
WSHOST_BUILD_MSP1 e clique em Concluir.
- Na visualização de Desenvolvimento de Intermediário, clique com direito em WSHOST_BUILD_MFP1, clique em Novo > Fluxo de Mensagns.
- Configure Nome do fluxo de mensagens para
WSHOST_WSHOST1.
- Libere o Usar esquema de intermediário padrão.
- Configure o Esquema para WSHOST_MFP1, clique em Terminar.
- 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 |
- 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 |
- Customize o nó HTTPInput:
- Clique com o botão direito do mouse no nó HTTPInput e clique em
Propriedades.
- Clique em Básico e configure Sufixo do Caminho para a URL como /samplebrokerwshost.
- 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.
- Salve e feche a visualização Propriedades.
- Customize o nó Compute:
- Clique com o botão direito do mouse no nó Compute e clique em Abrir ESQL.
- 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;
- Salve e feche a guia WSHOST_WSHOST1.esql.
- Customize o MQOutput para nó de legado:
- Clique com direito em MQOutput para o nó de legado, clique em Propriedades.
- 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.
- Defina Nome da Fila para WSHOST1_OUT1.
- Clique em Avançado, configure o Modo de Transação para Sim.
- Defina Contexto da Mensagem para Padrão.
- Clique em Pedido e selecione Pedido.
- Configure a Fila para Responder para WSHOST1_IN1, em seguida salve e feche a visualização de Propriedades.
- Customize o nó Compute1:
- Clique com direito no nó Compute1, clique em Abrir ESQL.
- 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;
- Salve e feche a guia WSHOST_WSHOST1.esql.
- Customize o nó do estado HTTP armazenado por MQOutput:
- Clique com o botão direito do mouse no nó de estado HTTP armazenado por MQOutput e clique em Propriedades.
- Clique em Básico e
configure Nome do Gerenciador de Filas como WSHOST1_STATE1.
- Clique em Avançado e configure Modo de Transação como Sim.
- Defina Contexto da Mensagem para Padrão.
- Salve e feche a visualização Propriedades.
- Customize o MQInput para nó de legado:
- Clique com o botão direito do mouse no MQInput para nó de legado e clique em Propriedades.
- Clique em Básico e configure Nome da Fila como WSHOST1_IN1.
- 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.
- Salve e feche a visualização Propriedades.
- Customize o nó de estado HTTP armazenado por MQGet:
- Clique com o botão direito do mouse no nó HTTP armazenado por MQGet e clique em Propriedades.
- Clique em Básico e configure Nome da Fila como WSHOST1_STATE1.
- 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.
- Clique em Avançado:
- Para Gerar Modo, selecione Mensagem e Ambiente Local na lista.
- Para Copiar Mensagem, selecione Copiar Mensagem Inteira na lista.
- Clique em Pedido e selecione a caixa de opções para Obter por ID de Correlação.
- Clique em Resultado e configure Local dos Dados de Saída como OutputLocalEnvironment.
- Salve e feche a visualização Propriedades.
- Customize o nó Compute2:
- Clique com o botão direito do mouse no nó Compute2 e clique em Propriedades.
- Clique em Básico e configure Computar Modo como Ambiente Local e Mensagem.
- Salve e feche a visualização Propriedades.
- Clique com o botão direito do mouse no nó e clique em Abrir ESQL.
- 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;
- Salve e feche a guia WSHOST_WSHOST1.esql.
- Salve e feche WSHOST_WSHOST1.msgflow.
- 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:
- 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).
- Inicie o WebSphere Message Broker Toolkit.
- Clique em Arquivo > Novo > Conjunto de Mensagens.
- Defina Nome do Conjunto de Mensagens para WSCLIENT_MS1.
- Defina Nome do Projeto do Conjunto de Mensagens para WSCLIENT_BUILD_MSP1,
depois clique em Avançar.
- 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.
- Na guia messageSet.mset, na Hierarquia de Propriedades,
clique com direito em Binary1, selecione Renomear
e entre o novo nome CWF1, clique em Terminar.
- Salve e feche messageSet.mset.
- Importe um arquivo de cabeçalho C que mapeia a mensagem de entrada e de saída do aplicativo legado:
- Copie o arquivo legacyservice.h do projeto WSHOST_LEGACY1,
e cole-o no projeto WSCLIENT_BUILD_MSP1.
- Crie um arquivo de definição de mensagem a partir do arquivo de cabeçalho C:
- 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.
- Assegure-se de que o Conjunto de Mensagens esteja configurado para
/WSCLIENT_BUILD_MSP1/WSCLIENT_MS1,
clique em Próximo.
- 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.
- Salve e feche legacyservice.mxsd.
- Importe o WSDL para o serviço da Web.
- Clique em Arquivo > Importar > Geral > Sistema de Arquivo > Próximo.
- 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.
- Configure Na Pasta como WSCLIENT_MSP1,
clique em Terminar.
- Crie um arquivo de definição de mensagem a partir do WSDL:
- 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.
- Para o Selecionar o conjunto de mensagens de destino selecione
WSCLIENT_MSP1/WSCLIENT_MS1.
- Configure o Nome do arquivo de definição de mensagem
para WSHOST_BUILD_MS1Service.wsdl.
- 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/.
- Clique em Concluir.
- 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:
- Clique em Arquivo > Novo > Projeto do Message Broker.
- Configure o Nome do Projeto para WSCLIENT_BUILD_MFP1, clique em Próximo.
- Na área de janela "Projetos Referidos", selecione a caixa de opção
WSCLIENT_BUILD_MSP1 e clique em Concluir.
- Na visualização de Desenvolvimento de Intermediário, clique com direito em WSCLIENT_BUILD_MFP1, clique em Novo > Fluxo de Mensagens.
- Defina Nome de Fluxo de Mensagens para WSCLIENT_WSCLIENT1.
- Libere a caixa de opção para Usar esquema de intermediário padrão,
configure Esquema para WSCLIENT_MFP1, clique em
Terminar.
- 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 |
- 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 |
- Customize o MQInput para nó de legado:
- Clique com o botão direito do mouse no MQInput para nó de legado e clique em Propriedades.
- Clique em Básico e configure Nome da Fila
como WSCLIENT1_IN1.
- 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.
- Salve e feche a visualização Propriedades.
- Customize o nó Compute:
- Clique com o botão direito do mouse no nó Compute e clique em Abrir ESQL.
- 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;
- Salve e feche a guia WSCLIENT_WSCLIENT1.esql.
- Customize o nó HTTPRequest:
- Clique com direito no nó HTTPRequest e clique em visualizar Propriedades.
- 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.
- 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.
- Salve e feche a visualização Propriedades.
- Customize o nó Compute1:
- Clique com o botão direito do mouse no nó Compute1 e, em seguida, clique em Abrir ESQL.
- 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;
- Salve e feche a guia WSCLIENT_WSCLIENT1.esql.
- Customize o nó MQReply: nenhuma customização é necessária.
- Salve e feche WSCLIENT_WSCLIENT1.msgflow.
Voltar para o Início da Amostra