Crear el ejemplo Servicios web que utilizan nodos HTTP

El ejemplo Servicios web que utilizan nodos HTTP consta de dos partes:

Crear el ejemplo Sistema principal de servicio web

Se proporcionan todos los archivos necesarios para ejecutar el ejemplo de Sistema principal de servicio Web, pero si prefiere crear el ejemplo usted mismo, puede seguir las instrucciones siguientes:

Para crear el ejemplo de Sistema principal de servicio web:

  1. Importe el ejemplo Servicios web de forma que el archivo de cabecera C esté disponible para que se utilice, consulte Ejemplo Servicios web que utilizan nodos HTTP.
  2. Cree un conjunto de mensajes para que sirva tanto para el formato de mensaje de servicio web (XML) como para el formato heredado (CWF):
    1. Inicie WebSphere Message Broker Toolkit.
    2. Pulse Archivo > Nuevo > Conjunto de mensajes.
    3. En el campo Nombre de conjunto de mensajes entre el nombre WSHOST_BUILD_MS1.
    4. En el campo Nombre del proyecto de conjunto de mensajes, entre el nombre WSHOST_BUILD_MSP1 y pulse Siguiente.
    5. En el campo Seleccionar el tipo de datos de mensaje con el que va a trabajar más a menudo, seleccione Documentos XML (general), seleccione Datos binarios (por ejemplo estructuras C o COBOL) y pulse Finalizar.
    6. En el separador messageSet.mset, bajo Jerarquía de propiedades, pulse el botón derecho del ratón en Binary1, seleccione Renombrar, entre el nuevo nombre CWF1 y pulse Finalizar.
    7. Guarde y cierre messageSet.mset.
  3. Importe un archivo de cabecera C, que se correlaciona con el mensaje de entrada y de salida de la aplicación heredada:
    1. En la vista Desarrollo de intermediario, copie el archivo legacyservice.h del proyecto WSHOST_LEGACY1 y péguelo en el proyecto WSHOST_BUILD_MSP1.
    2. Cree un archivo de definición de mensajes a partir del archivo de cabecera C:
      1. En la vista Desarrollo de intermediario, bajo WSHOST_BUILD_MSP1, pulse el botón derecho del ratón en legacyservice.h, pulse Nuevo > Archivo de definición de mensajes a partir de > Archivo de cabecera C y pulse Siguiente.
      2. Asegúrese de que el campo Conjunto de mensajes esté establecido en /WSHOST_BUILD_MSP1/WSHOST_BUILD_MS1.
      3. Establezca Espacio de nombres de destino en http://www.brokersamplewshost.ibm.com y pulse Siguiente.
      4. En el panel Estructuras de origen, pulse tagIA81CONF, pulse el botón de la flecha a la derecha (>),pulse Seleccionar todo > Finalizar.
    3. En el panel legacyservice.mxsd, expanda y pulse el botón derecho del ratón en Mensajes. Seleccionar Añadir mensaje. Entre IA81CONFIN, pulse Tipo complejo, seleccione tns:tagIA81CONF en la lista . Repita este paso para IA81CONFOUT.
    4. Guarde y cierre legacyservice.mxsd.
  4. Cree una definición de mensaje SOAP:
    1. En la vista Desarrollo de intermediario, pulse el botón derecho del ratón en el conjunto de mensajes WSHOST_BUILD_MS1 que ya ha creado y, a continuación, pulse Nuevo > Archivo de definición de mensajes a partir de > Mensaje suministrado por IBM.
    2. En el panel de mensajes proporcionado por IBM, seleccione Sobre SOAP 1.1 y pulse Finalizar.
    3. Guarde y cierre soapenv11.mxsd.

      Aparecen varios avisos en la vista Problemas del Kit de herramientas de Message Broker. Estos problemas se originan porque se ha definido un CWF para una definición de mensaje SOAP. Puede hacer caso omiso de los mismos.

  5. Genere WSDL:
    1. En la vista Desarrollo de intermediario, pulse el botón derecho del ratón en el conjunto de mensajes WSHOST_BUILD_MS1 y seleccione Generar > Definición de WSDL.
    2. Seleccione Generar una nueva definición WSDL a partir de definiciones de mensajes existentes, pulse Siguiente.
    3. Resalte WSHOST_BUILD_MSP1 y pulse Crear una nueva carpeta.
    4. Escriba wsdl como nombre de carpeta, pulse Aceptar y pulse Siguiente.
    5. En el panel "Especificar detalles WSDL", asegúrese de que Estilo se haya establecido endocumento y pulse Siguiente.
    6. En el panel Operaciones, en la lista seleccione IA81CONFIN para la entrada, IA81CONFOUT para la salida y pulse Siguiente.
    7. En el panel Enlaces, elija el botón de selección SOAP/HTTP, establezca Dirección de puerto en http://localhost:7080/samplebrokerwshost y pulse Finalizar.
  6. Cree un flujo de mensajes. El flujo toma una petición HTTP, ejecuta la aplicación heredada utilizando WebSphere MQ y direcciona la información de la respuesta de la aplicación heredada al solicitante HTTP.

    Para crear el flujo de mensajes:

    1. Pulse Archivo > Nuevo > Proyecto de Message Broker.
    2. Establezca Nombre de proyecto en WSHOST_BUILD_MFP1 y pulse Siguiente.
    3. En el panel "Proyectos a los que se hace referencia", marque el recuadro de selección WSHOST_BUILD_MSP1 y pulse Finalizar.
    4. En la vista Desarrollo de intermediario, pulse el botón derecho del ratón en WSHOST_BUILD_MFP1 y pulse Nuevo > Flujo de mensajes.
    5. Establezca Nombre del flujo de mensajes en WSHOST_WSHOST1.
    6. Borre Utilizar esquema de intermediario predeterminado.
    7. Establezca el Esquema en WSHOST_MFP1 y pulse Finalizar.
    8. En el Editor de flujos de mensajes, añada y renombre los nodos que se listan en la siguiente tabla.
      Para obtener instrucciones, consulte Añadir un nodo en la documentación de WebSphere Message Broker.
      Cajones de la paleta Tipo de nodo Nombre de nodo
      HTTP HTTPInput HTTP Input
      Transformación Compute Compute
      Transformación Compute Compute1
      Transformación Compute Compute2
      WebSphere MQ MQOutput MQOutput to legacy
      WebSphere MQ MQOutput MQOutput almacenar estado HTTP
      WebSphere MQ MQGet MQGet stored HTTP state
      WebSphere MQ MQInput MQInput de heredada
      HTTP HTTPReply HTTPReply
    9. Conecte los nodos tal como se muestra en la siguiente tabla.
      Para obtener instrucciones, consulte Conectar nodos en la documentación de WebSphere Message Broker.
      Nombre de nodo Terminal Conectar a este nodo
      HTTPInput Out Compute
      Compute Out MQOutput to legacy
      MQOutput to legacy Out Compute1
      Compute1 Out MQOutput almacenar estado HTTP
      MQInput de heredada Out MQGet stored HTTP state
      MQGet stored HTTP state Out Compute2
      Compute2 Out HTTPReply
  7. Personalice el nodo HTTPInput:
    1. Pulse el botón derecho del ratón en el nodo HTTPInput y pulse Propiedades.
    2. Pulse Básicas y establezca Sufijo de vía de acceso para URL en /samplebrokerwshost.
    3. Pulse Análisis de mensaje de entrada:
      • Para Dominio del mensaje, seleccione MRM en la lista.
      • Para Conjunto de mensajes, seleccione WSHOST_BUILD_MS1 en la lista.
      • Para Tipo de mensaje, seleccione Envelope.
      • Para Formato del mensaje, seleccione XML1 en la lista.
    4. Guarde y cierre la vista Propiedades.
  8. Personalice el nodo Compute:
    1. Pulse el botón derecho del ratón en el nodo Compute y pulse en Abrir ESQL.
    2. Escriba el siguiente ESQL entre las sentencias BEGIN y END para la función Main(). Utilice la Ayuda de contenido (Control + espacio) para seleccionar palabras clave. Se generan sentencias DECLARE NAMESPACE similares a las sentencias que están comentadas en las dos primeras líneas cuando se utiliza la Ayuda de contenido por primera vez para seleccionar el elemento Body de SOAP y cualquier elemento IA81CONFIN. Si está copiando y pegando este código, asegúrese de que las sentencias DECLARE NAMESPACE no están comentadas.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      	CALL CopyMessageHeaders();
      
      -- La salida (Output) es MQ por lo tanto, elimine cabeceras HTTP
      	SET OutputRoot.HTTPInputHeader = null;
      
      -- La salida (Output) ya existe, por lo tanto establezca el formato físico y el nombre del mensaje
      	SET OutputRoot.Properties.MessageType = 'msg_tagIA81CONF';
      	SET OutputRoot.Properties.MessageFormat = 'CWF1';
      
      -- Añada un MQMD
      	CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
      
      -- Cree un mensaje para enviarlo a la aplicación heredada
      	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. Guarde y cierre el separador WSHOST_WSHOST1.esql.
  9. Personalice el nodo MQOutput to legacy:
    1. Pulse el botón derecho del ratón en el nodo MQOutput to legacy, pulse Propiedades.
    2. Si tiene pensado ejecutar la aplicación heredada en un gestor de colas WebSphere MQ distinto al del intermediario, seleccione Básicas y establezca el Nombre del gestor de colas en el nombre del gestor de colas de la aplicación heredada. De lo contrario, déjelo en blanco.
    3. Establezca el Nombre de cola en WSHOST1_OUT1.
    4. Pulse Avanzadas y establezca Modalidad de transacción en .
    5. Establezca el Contexto del mensaje en Valor predeterminado.
    6. Pulse Petición y seleccione Petición.
    7. Establezca Cola de respuestas en WSHOST1_IN1 y, a continuación, guarde y cierre la vista Propiedades.
  10. Personalice el nodo Compute1:
    1. Pulse el botón derecho del ratón en el nodo Compute1 y pulse Abrir ESQL.
    2. Codifique el siguiente ESQL entre las sentencias BEGIN y END para la función Main(). Utilice la Ayuda de contenido (Control + espacio) para seleccionar palabras clave. Se genera una sentencia DECLARE NAMESPACE similar a la sentencia que está comentada en la primera línea cuando se utiliza la Ayuda de contenido por primera vez para seleccionar el elemento Body de SOAP. Asegúrese de eliminar la marca de comentario de las sentencias DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      -- El mensaje de salida creado en este nodo almacena el contexto HTTP.
      -- Cualquier formato puede ser adecuado, pero se está utilizando un
      -- campo autodefinido en una cabecera SOAP
      -- Por lo tanto, el formato físico es formato físico es XML
      -- Cree las propiedades del conjunto de mensajes de destino
      
      	SET OutputRoot.Properties.MessageSet = InputRoot.Properties.MessageSet;
      	SET OutputRoot.Properties.MessageType = 'Envelope';
      	SET OutputRoot.Properties.MessageFormat = 'XML1';
      
      -- Cree el MQMD y establezca el IDCorrel
      -- El IDCorrel ha de establecerse en el IDMsj del mensaje enviado
      -- a la aplicación heredada.  Cuando se recibe la respuesta de la
      -- aplicación heredada, se emitirá MQGet desde la cola del almacén
      -- con un IDCorrel igual al IDCorrel de la respuesta heredada
      
      	SET OutputRoot.MQMD.CorrelId
      = InputLocalEnvironment.WrittenDestination.MQ.DestinationData.msgId;
      
      -- Cree un mensaje para almacenar contexto HTTP
      
      	SET OutputRoot.MRM.tns:Header.HTTP.RequestIdentifier
          = InputLocalEnvironment.Destination.HTTP.RequestIdentifier;
      
      	RETURN TRUE;
    3. Guarde y cierre el separador WSHOST_WSHOST1.esql.
  11. Personalice el nodo MQOutput almacenar estado HTTP:
    1. Pulse el botón derecho del ratón en el nodo MQOutput almacenar estado HTTP y pulse Propiedades.
    2. Pulse Básicas y establezca el Nombre del gestor de colas en WSHOST1_STATE1.
    3. Pulse Avanzadas y establezca Modalidad de transacción en .
    4. Establezca el Contexto del mensaje en Valor predeterminado.
    5. Guarde y cierre la vista Propiedades.
  12. Personalice el nodo MQInput de heredada:
    1. Pulse el botón derecho del ratón en el nodo MQInput de heredada y pulse Propiedades.
    2. Pulse Básicas y establezca el Nombre de cola en WSHOST1_IN1.
    3. Pulse Análisis de mensaje de entrada:
      • Para Dominio del mensaje, seleccione MRM en la lista.
      • Para Conjunto de mensajes, seleccione WSHOST_BUILD_MS1 en la lista.
      • Para Tipo de mensaje, seleccione msg_tagIA81CONF.
      • Para Formato del mensaje, seleccione CWF1 en la lista.
    4. Guarde y cierre la vista Propiedades.
  13. Personalice el nodo MQGet stored HTTP state:
    1. Pulse el botón derecho del ratón en el nodo MQGet stored HTTP state y pulse Propiedades.
    2. Pulse Básicas y establezca el Nombre de cola en WSHOST1_STATE1.
    3. Pulse Análisis de mensaje de entrada:
      • Para Dominio del mensaje, seleccione MRM en la lista.
      • Para Conjunto de mensajes, seleccione WSHOST_BUILD_MS1 en la lista.
      • Para Tipo de mensaje, escriba Envelope.
      • Para Formato del mensaje, seleccione XML1 en la lista.
    4. Pulse Avanzadas:
      • Para Modalidad de generación, seleccione Mensaje y entorno local en la lista.
      • Para Copiar mensaje, seleccione Copiar mensaje completo en la lista.
    5. Pulse Petición y seleccione el recuadro Obtener por ID de correlación.
    6. Pulse Resultado y establezca Ubicación de datos de salida en OutputLocalEnvironment.
    7. Guarde y cierre la vista Propiedades.
  14. Personalice el nodo Compute2:
    1. Pulse el botón derecho del ratón en el nodo Compute2 y pulse en Propiedades.
    2. Pulse Básicas y establezca Modalidad de cálculo en Entorno local y mensaje.
    3. Guarde y cierre la vista Propiedades.
    4. Pulse el botón derecho del ratón en el nodo y pulse Abrir ESQL.
    5. Escriba el ESQL siguiente entre las sentencias BEGIN y END para la función Main() y asegúrese de eliminar el comentario de las sentencias DECLARE NAMESPACE:
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
      -- La entrada es CWF, la salida es 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;
      
      -- Establecer el identificador de respuesta http  	
      SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifier =
       CAST(InputLocalEnvironment.MRM.tns:Header.HTTP.RequestIdentifier AS BLOB);
      	
      	RETURN TRUE;
  15. Guarde y cierre el separador WSHOST_WSHOST1.esql.
  16. Guarde y cierre WSHOST_WSHOST1.msgflow.
  17. Si piensa ejecutar la aplicación heredada en un gestor de colas WebSphere MQ distinto al del intermediario, defina la cola de entrada de la aplicación heredada para el gestor de colas de la aplicación heredada. Utilice el programa de utilidad de WebSphere adecuado para entrar la siguiente definición de cola:

    DEFINE QLOCAL(WSHOST1_OUT1) REPLACE

Crear el ejemplo Cliente de servicio web

Se proporcionan todos los archivos que necesita para ejecutar el ejemplo de Cliente de servicio Web, pero si prefiere crear el ejemplo usted mismo, realice los pasos siguientes:

Para crear el ejemplo Cliente de servicio web:

  1. Importe el ejemplo Servicio web de la galería de ejemplos, y cree el ejemplo Host de servicio web si aún no lo ha hecho, para que el archivo de cabecera C esté disponible para su utilización, consulte Ejemplo Servicios web que utilizan nodos HTTP. Cree un conjunto de mensajes para que sirva tanto para el formato de mensaje de servicio web (XML) como para el formato heredado (CWF).
    1. Inicie WebSphere Message Broker Toolkit.
    2. Pulse Archivo > Nuevo > Conjunto de mensajes.
    3. Establezca el Nombre de conjunto de mensajes en WSCLIENT_MS1.
    4. Establezca el Nombre del proyecto de conjunto de mensajes en WSCLIENT_BUILD_MSP1 y, a continuación, pulse Siguiente.
    5. En el campo Seleccionar el tipo de datos de mensaje con el que va a trabajar más a menudo, seleccione Documentos XML (general), seleccione Datos binarios (por ejemplo estructuras C o COBOL) y pulse Finalizar.
    6. En el separador messageSet.mset, bajo Jerarquía de propiedades, pulse el botón derecho del ratón en Binary1, seleccione Renombrar, entre el nuevo nombre CWF1 y pulse Finalizar.
    7. Guarde y cierre messageSet.mset.
  2. Importe un archivo de cabecera C, que se correlaciona con el mensaje de entrada y de salida de la aplicación heredada:
    1. Copie el archivo legacyservice.h del proyecto WSHOST_LEGACY1 y péguelo en el proyecto WSCLIENT_BUILD_MSP1.
    2. Cree un archivo de definición de mensajes a partir del archivo de cabecera C:
      1. En la vista Desarrollo de intermediario, bajo WSCLIENT_BUILD_MSP1 pulse el botón derecho del ratón en legacyservice.h y, a continuación, pulse Nuevo > Archivo de definición de mensajes a partir de > Archivo de cabecera C.
      2. Asegúrese de que Conjunto de mensajes esté establecido en /WSCLIENT_BUILD_MSP1/WSCLIENT_MS1 y pulse Siguiente.
      3. En el panel "Estructuras de origen", pulse tagIA81BUY, pulse el botón de flecha a la derecha >), pulse tagIA81CONF, pulse el botón de flecha a la derecha (>) y, a continuación, pulse Seleccionar todo > Finalizar.
    3. Guarde y cierre legacyservice.mxsd.
  3. Importe el WSDL para el servicio Web.
    1. Pulse Archivo > Importar > General > Sistema de archivos > Siguiente.
    2. Examine el espacio de trabajo para seleccionar el directorio wsdl del proyecto WSHOST_MSP1, pulse Aceptar y seleccione el recuadro de selección wsdl.
    3. Establezca A la carpeta en WSCLIENT_MSP1 y pulse Finalizar.
    4. Cree un archivo de definición de mensajes a partir del WSDL:
      1. En la vista Desarrollo de intermediario, en el proyecto WSCLIENT_MSP1 pulse el botón derecho del ratón en WSHOST_BUILD_MS1Service.wsdl y pulse Nuevo > Archivo de definición de mensajes.
      2. Para Seleccionar el conjunto de mensajes de destino, seleccione WSCLIENT_MSP1/WSCLIENT_MS1.
      3. Establezca Nombre de archivo de definición de mensajes en WSHOST_BUILD_MS1Service.wsdl.
      4. Bajo Valores de espacio de nombres de destino, seleccione el recuadro de selección Utilizar espacio de nombres de destino. Establezca Prefijo en wshost y Espacio de nombres en http://www.brokersamplewshost.ibm.com/.
      5. Pulse Finalizar.
  4. Cree un flujo de mensajes. El flujo toma una petición HTTP, ejecuta la aplicación heredada utilizando WebSphere MQ y direcciona la información de la respuesta de la aplicación heredada al solicitante HTTP.

    Para crear el flujo de mensajes:

    1. Pulse Archivo > Nuevo > Proyecto de Message Broker.
    2. Establezca el Nombre de proyecto en WSCLIENT_BUILD_MFP1 y pulse Siguiente.
    3. En el panel "Proyectos a los que se hace referencia", marque el recuadro de selección WSCLIENT_BUILD_MSP1 y pulse Finalizar.
    4. En la vista Desarrollo de intermediario, pulse el botón derecho del ratón en WSCLIENT_BUILD_MFP1 y pulse Nuevo > Flujo de mensajes.
    5. Establezca el Nombre de flujo de mensajes en WSCLIENT_WSCLIENT1.
    6. Elimine la marca del recuadro de selección Utilizar esquema predeterminado de intermediario, establezca Esquema en WSCLIENT_MFP1 pulse Finalizar.
    7. En el Editor de flujos de mensajes, añada y renombre los nodos que se listan en la siguiente tabla.
      Para obtener instrucciones, consulte Añadir un nodo en la documentación de WebSphere Message Broker.
      Cajones de la paleta Tipo de nodo Nombre de nodo
      WebSphere MQ MQInput MQInput de heredada
      Transformación Compute Compute
      Transformación Compute Compute1
      WebSphere MQ MQReply MQReply
      HTTP HTTPRequest HTTPRequest
    8. Conecte los nodos tal como se muestra en la siguiente tabla.
      Para obtener instrucciones, consulte Conectar nodos en la documentación de WebSphere Message Broker.
      Nombre de nodo Terminal Conectar a este nodo
      MQInput de heredada Out Compute
      Compute Out HTTPRequest
      HTTPRequest Out Compute1
      Compute1 Out MQReply
  5. Personalice el nodo MQInput de heredada:
    1. Pulse el botón derecho del ratón en el nodo MQInput de heredada y pulse Propiedades.
    2. Pulse Básicas y establezca Nombre de cola en WSCLIENT1_IN1.
    3. Pulse Análisis de mensaje de entrada:
      • Para Dominio del mensaje, seleccione MRM en la lista.
      • Para Conjunto de mensajes, seleccione WSCLIENT_MS1 en la lista.
      • Para Tipo de mensaje, seleccione msg_tagIA81BUY en la lista.
      • Para Formato del mensaje, seleccione CWF1 en la lista.
    4. Guarde y cierre la vista Propiedades.
  6. Personalice el nodo Compute:
    1. Pulse el botón derecho del ratón en el nodo Compute y pulse en Abrir ESQL.
    2. Escriba el siguiente ESQL entre las sentencias BEGIN y END para la función Main(). Utilice la Ayuda de contenido (Control + espacio) para seleccionar palabras clave. Se generan sentencias DECLARE NAMESPACE similares a las sentencias que están comentadas en las dos primeras líneas cuando se utiliza la Ayuda de contenido por primera vez para seleccionar el elemento Body de SOAP y cualquier elemento IA81CONFIN. Si está copiando y pegando este código, asegúrese de que las sentencias DECLARE NAMESPACE no están comentadas.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
          CALL CopyMessageHeaders();
      
      -- Guarde el MQMD; si lo envía a HTTP más tarde en el flujo, se destruirá
      	SET Environment.MQMD = InputRoot.MQMD;
      
      -- La entrada es CWF, la salida es SOAP, por lo tanto, establecer el formato físico y el nombre de mensaje
      	SET OutputRoot.Properties.MessageType = 'Envelope';
      	SET OutputRoot.Properties.MessageFormat = 'XML1';
      
      -- Cree un mensaje para enviarlo al servicio 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. Guarde y cierre el separador WSCLIENT_WSCLIENT1.esql.
  7. Personalice el nodo HTTPRequest:
    1. Pulse el botón derecho del ratón en el nodo HTTPRequest y pulse la vista Propiedades.
    2. Seleccione Básicas y establezca el URL de servicio web en http://localhost:7080/samplebrokerwshost. Si el intermediario que contiene el servicio web está en una máquina diferente de la de este intermediario y/o está utilizando un número de puerto no predeterminado, corrija este URL como corresponda.
    3. Pulse Análisis de mensaje de entrada:
      • Para Dominio del mensaje, seleccione MRM en la lista.
      • Para Conjunto de mensajes, seleccione WSCLIENT_MS1 en la lista.
      • Para Tipo de mensaje, escriba Envelope.
      • Para Formato del mensaje, seleccione XML1 en la lista.
    4. Guarde y cierre la vista Propiedades.
  8. Personalice el nodo Compute1:
    1. Pulse el botón derecho del ratón en el nodo Compute1 y pulse en Abrir ESQL.
    2. Escriba el siguiente ESQL entre las sentencias BEGIN y END para la función Main(). Utilice la Ayuda de contenido (Control + espacio) para seleccionar palabras clave. Se genera una sentencia DECLARE NAMESPACE similar a la que se comenta en la primera línea cuando se utiliza la Ayuda de contenido por primera vez para seleccionar el elemento de cuerpo de SOAP. Asegúrese de eliminar la marca de comentario de las sentencias DECLARE NAMESPACE.
      --DECLARE tns NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
      --DECLARE ns NAMESPACE 'http://www.brokersamplewshost.ibm.com';
      
          CALL CopyMessageHeaders();
      
      -- La salida es MQ, por lo tanto, elimine las cabeceras HTTP
          SET OutputRoot.HTTPResponseHeader = NULL;
      
      -- La salida es CWF, por lo tanto establezca las propiedades del conjunto de mensajes de destino
      
      	SET OutputRoot.Properties.MessageType = 'msg_tagIA81CONF';
      	SET OutputRoot.Properties.MessageFormat = 'CWF1';
      
      -- Cree un MQMD y restáurelo a los valores guardados
      
      	CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
          SET OutputRoot.MQMD = Environment.MQMD;
      
      -- Cree el mensaje a enviar
      
      	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. Guarde y cierre el separador WSCLIENT_WSCLIENT1.esql.
  10. Personalice el nodo MQReply: no se requiere ninguna personalización.
  11. Guarde y cierre WSCLIENT_WSCLIENT1.msgflow.

Volver a la página inicial del ejemplo