Se proporciona el flujo de mensajes principal del ejemplo Conectividad de WebSphere Service Registry and Repository (WSRR), pero si prefiere crear el flujo de mensajes usted mismo, utilice las instrucciones siguientes:
Cajones de la paleta | Tipo de nodo | Nombre de nodo |
---|---|---|
WebSphere MQ | MQInput | WSRR_IN |
Transformación | Compute | SetVersion |
Servicios web | EndpointLookup | Endpoint Lookup One |
Servicios web | SOAPRequest | SOAP Request |
Transformación | Compute | InformFailure |
Transformación | Compute | InformWSResult |
Transformación | Compute | InformNoMatch |
WebSphere MQ | MQOutput | WSRR_OUT |
Nombre de nodo | Terminal | Conectar a este nodo |
---|---|---|
WSRR_IN | Out | SetVersion |
SetVersion | Out | Endpoint Lookup One |
Endpoint Lookup One | Out | SOAP Request |
Failure (de anomalías) | InformFailure | |
NoMatch (de no coincidencias) | InformNoMatch | |
SOAP Request | Out | InformWSResult |
Fault (de defectos) | WSRR_OUT | |
InformFailure | Out | WSRR_OUT |
InformWSResult | Out | WSRR_OUT |
InformNoMatch | Out | WSRR_OUT |
Nombre de nodo | Página | Propiedad | Valor |
---|---|---|---|
WSRR_IN | Básicas | Nombre de cola | WSRR_IN |
Análisis de mensaje de entrada | Dominio del mensaje | XMLNSC : Para mensajes XML | |
SetVersion | Básicas | Modalidad de cálculo | Entorno local y mensaje |
Endpoint Lookup One | Básicas | Nombre de tipo de puerto | DemoCustomer |
Espacio de nombres de tipo de puerto | http://demo.sr.eis.ibm.com | ||
Versión de tipo de puerto | 1.0 | ||
SOAP Request | Básicas | Nombre de archivo WSDL | Pulse Examinar y vaya al archivo
DemoCustomer_v10.wsdl que se importó
anteriormente al proyecto de conjunto de mensajes WSRR Connectivity Message
Set. Cuando se selecciona, este archivo llena las demás propiedades de la página Básicas. |
Operación de enlace | Establezca esta propiedad en updateCustomer. | ||
Transporte HTTP | URL de servicio web | Entre un valor cualquiera, por ejemplo: http://dummy. Esta propiedad se altera temporalmente en ejecución con el URL DE servicio web específico del documento WSDL que se recupera de WebSphere Service Registry and Repository. |
|
WSRR_OUT | Básicas | Nombre de cola | WSRR_OUT |
DECLARE soapenv NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/'; CREATE COMPUTE MODULE WSRR_Connectivity_SetVersion CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- Establecer el LE en las alteraciones temporales especificadas en los datos de entrada -- Si el mensaje de entrada no contiene un código Version, el LE no se escribirá SET OutputLocalEnvironment.ServiceRegistryLookupProperties.Version = InputRoot.XMLNSC.soapenv:Envelope.soapenv:Body.Request.Version; -- Almacenar el MQMD a reconstruir después del nodo HTTP Response 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(); -- La respuesta de WebService contiene una cabecera HTTP -- Elimine la cabecera HTTP y cree una cabecera MQMD para poder propagar el mensaje a un nodo de salida MQ SET OutputRoot.HTTPResponseHeader = NULL; CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; -- Recupere el MQMD que se almacenó antes 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 = 'No matching services!'; 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 = 'Error al recuperar el servicio de 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;
Ahora puede crear las colas y ejecutar el flujo, consulte Crear las colas.
Volver a Crear el ejemplo Conectividad de WebSphere Service Registry and Repository