O fluxo de mensagens principal da amostra WebSphere Service Registry and Repository (WSRR) Connectivity é fornecido, mas se preferir você mesmo criar o fluxo de mensagens, use as instruções a seguir:
Gavetas de Paleta | Tipo de Nó | Nome de Nó |
---|---|---|
WebSphere MQ | MQInput | WSRR_IN |
Transformação | Compute | SetVersion |
WebServices | EndpointLookup | Consulta de Terminal Um |
WebServices | SOAPRequest | Pedido SOAP |
Transformação | Compute | InformFailure |
Transformação | Compute | InformWSResult |
Transformação | Compute | InformNoMatch |
WebSphere MQ | MQOutput | WSRR_OUT |
Nome de Nó | Terminal | Conectar a esse Nó |
---|---|---|
WSRR_IN | Out | SetVersion |
SetVersion | Out | Consulta de Terminal Um |
Consulta de Terminal Um | Out | Pedido SOAP |
Falha | InformFailure | |
NoMatch | InformNoMatch | |
Pedido SOAP | Out | InformWSResult |
Falha | WSRR_OUT | |
InformFailure | Out | WSRR_OUT |
InformWSResult | Out | WSRR_OUT |
InformNoMatch | Out | WSRR_OUT |
Nome de Nó | Página | Propriedade | Valor |
---|---|---|---|
WSRR_IN | Básico | Nome da fila | WSRR_IN |
Análise de Mensagem de Entrada | Domínio de mensagem | XMLNSC: Para mensagens XML | |
SetVersion | Básico | Modo de computação | Ambiente Local e Mensagem |
Consulta de Terminal Um | Básico | Nome do Tipo da Porta | DemoCustomer |
Espaço de Nomes do Tipo da Porta | http://demo.sr.eis.ibm.com | ||
Versão do Tipo da Porta | 1.0 | ||
Pedido SOAP | Básico | Nome do arquivo do WSDL | Vá para o arquivo
DemoCustomer_v10.wsdl importado
anteriormente no Conjunto de Mensagens de Conectividade WSRR. Quando selecionado, este arquivo preenche as outras propriedades na página Básica. |
Operação de Ligação | Configure esta propriedade para updateCustomer. | ||
Transporte HTTP | URL de Serviço da Web | Digite qualquer valor como, por exemplo:
http://dummy. Essa propriedade é substituída no tempo de execução pela URL do serviço de Web específica do documento WSDL que recuperou do WebSphere Service Registry and Repository. |
|
WSRR_OUT | Básico | Nome da fila | WSRR_OUT |
DECLARE soapenv NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/'; CREATE COMPUTE MODULE WSRR_Connectivity_SetVersion CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- Configure o LE para a sobreposição especificada nos dados de entrada -- Note que se a mensagem de entrada não contém uma tag Version, o LE não será gravado SET OutputLocalEnvironment.ServiceRegistryLookupProperties.Version = InputRoot.XMLNSC.soapenv:Envelope.soapenv:Body.Request.Version; -- Armazena o MQMD para reconstrução após o nó Resposta HTTP SET Environment.MQMD = InputRoot.MQMD; CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformWSResult CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyEntireMessage(); -- The response from the WebService contains a HTTP Header -- Remove the HTTP header and create a MQMD header in order to propagate the message to a MQ output node SET OutputRoot.HTTPResponseHeader = NULL; CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; -- Retrieve the MQMD that was stored earlier SET OutputRoot.MQMD = Environment.MQMD; RETURN TRUE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformNoMatch CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); CREATE LASTCHILD OF OutputRoot DOMAIN 'XMLNSC'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Version = '1.0'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Encoding = 'UTF-8'; CREATE LASTCHILD OF OutputRoot.XMLNSC NAME 'LookupResults'; SET OutputRoot.XMLNSC.LookupResults.WSRR_Request = InputRoot.XMLNSC.WSRR_Request; SET OutputRoot.XMLNSC.LookupResults.ServiceRegistry = 'Nenhum serviço correspondente!'; RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; END MODULE; CREATE COMPUTE MODULE WSRR_Connectivity_InformFailure CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); CREATE LASTCHILD OF OutputRoot DOMAIN 'XMLNSC'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Version = '1.0'; SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Encoding = 'UTF-8'; CREATE LASTCHILD OF OutputRoot.XMLNSC NAME 'LookupResults'; SET OutputRoot.XMLNSC.LookupResults.WSRR_Request = InputRoot.XMLNSC.WSRR_Request; SET OutputRoot.XMLNSC.LookupResults.ServiceRegistry = 'Falha na recuperação do serviço do WSRR!'; SET OutputRoot.XMLNSC.LookupResults.Exception = InputExceptionList; RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; END MODULE;
Agora você pode criar as filas e executar seu fluxo, consulte Criando as filas.
Voltar a Construindo a Amostra WebSphere Service Registry and Repository Connectivity