Configurar el ejemplo de Nodos SOAP para que utilice el transporte JMS

Antes de empezar:

Si ejecuta el ejemplo en Linux, debe realizar estos pasos:

  1. Añada la clase JMSAdmin a la variable classpath añadiendo el siguiente archivo a dicha variable:
    >directorio_instalación_mq</java/lib/com.ibm.mqjms.jar
  2. Añada la ubicación Java a la variable PATH incluyendo el siguiente código en la variable classpath:
    >JAVA_HOME</bin

Crear los objetos administrados usando JMSAdmin

En las siguientes instrucciones se presupone que WebSphere MQ está instalado en el directorio dir_instalación_mq. La herramienta JMSAdmin y el archivo de configuración de JMSAdmin se encuentran en las siguientes ubicaciones:

En el proyecto SOAP Nodes Sample Flow, debe utilizar el archivo SOAPJMSSample.defs con la herramienta JMSAdmin.

Antes de utilizar la herramienta JMSAdmin, debe modificar el archivo JMSAdmin.config como se muestra en las instrucciones siguientes.

Modificación del archivo JMSAdmin.config

Para modificar el archivo JMSAdmin.config:

  1. En un editor de texto, abra el archivo JMSAdmin.config.
  2. Para comentar las opciones que no son necesarias, añada un signo de número (#). Para descomentar una opción, elimine el signo de número (#).
    # La línea siguiente especifica qué proveedor de servicios JNDI se está utilizando.
    # Actualmente indica un Contexto del sistema de archivos. Si se utiliza
    # un proveedor de servicios distinto, se debe comentar esta línea y
    # se debe descomentar la línea adecuada.
    #
    #  com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
    #
    #INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
    #
    #  La línea siguiente especifica el URL del contexto inicial
    #  del proveedor de servicios. Actualmente hace referencia a un Contexto del sistema de archivos. 
    #  También se muestran, comentados, ejemplos de un URL de contexto raíz LDAP
    #  y el espacio de nombres JNDI para WebSphere.
    #
    	#PROVIDER_URL=ldap://localhost/o=ibm,c=us
    	PROVIDER_URL=file:/C:/SOAPJNDIBindings
    	#PROVIDER_URL=iiop://localhost/	
    
  3. Asegúrese de que PROVIDER_URL esté establecido en /C:/SOAPJNDIBindings, o una ubicación equivalente en Linux, y que INITIAL_CONTEXT_FACTORY esté establecido en com.sun.jndi.fscontext.RefFSContextFactory.
  4. Guarde el archivo.

Ahora puede crear los objetos.

Crear los objetos

Al ejecutar la herramienta JMSAdmin de WebSphere MQ, crea los objetos administrados JNDI para configurar los destinos y las fábricas de conexión JMS utilizados en el ejemplo.

Puede crear los objetos ejecutando la herramienta JMSAdmin y utilizando el archivo SOAPJMSSample.defs como entrada.

En la línea de mandatos, entre los siguientes mandatos:

Donde WebSphere MQ se instala en la siguiente ubicación: dir_instalación_mq y vía_acceso_espacio_trabajo es la vía de acceso completa al directorio del espacio de trabajo del kit de herramientas de Message Broker.

Se crean los objetos y el archivo .bindings.

Configuración de los nodos SOAP para utilizar JMS

  1. Abra el flujo de mensajes SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow en el Editor de flujos de mensajes.
  2. Pulse el botón derecho del ratón en el nodo SOAPInput del flujo de mensajes y pulse Propiedades para mostrar la vista Propiedades.
  3. En la vista Propiedades, seleccione el separador Básicas.
  4. El valor del campo Enlace importado está establecido a OrderServiceSOAP y el valor de la propiedad Transporte está establecido a HTTP. Cambie el valor de Enlace importado a OrderServiceSOAPJMSBinding. El valor de la propiedad Transporte cambiará a JMS.
  5. Abra el flujo de mensajes SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow en el editor de flujos de mensajes y configure el campo Enlace importado para el nodo SOAPRequest siguiendo los pasos anteriores.

Configurar la vía de acceso a JNDI en los flujos de mensajes

Configurar los nodos SOAP con la ubicación del archivo .bindings:

  1. Abra el flujo de mensajes SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow en el Editor de flujos de mensajes.
  2. Pulse el botón derecho del ratón en el nodo SOAPInput del flujo de mensajes y pulse Propiedades para mostrar la vista Propiedades.
  3. En la vista Propiedades, seleccione el separador Transporte JMS.
  4. En el campo Enlaces URL de JNDI de ubicación, especifique la vía de acceso que se especifica en la línea PROVIDER_URL del archivo JMSAdmin.config.
  5. Asegúrese de que la vía de acceso que ha especificado en las propiedades del nodo coincide con la vía de acceso que hay en el archivo JMSAdmin.config. Si las dos vías de acceso no coinciden, los flujos de mensajes no funcionarán.
  6. Guarde el flujo de mensajes.
  7. Abra el flujo de mensajes SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow en el Editor de flujos de mensajes y configure el nodo SOAPRequest con la ubicación del archivo .bindings utilizando los pasos anteriores.
  8. Ahora los flujos de mensajes están configurados y preparados para ser desplegados para el intermediario.

Volver a compilar el archivo BAR y desplegar los flujos de mensajes

Para desplegar los flujos modificados SOAPNodesSampleConsumer y SOAPNodesSampleProvider, vuelva a compilar un archivo de archivado de intermediario (BAR) que contenga los dos flujos de mensajes.

Compile el archivo BAR:

  1. Efectúe una doble pulsación en el archivo BAR SOAPNodesSampleFlows.SOAPNodesSampleBAR.bar.
  2. En el separador Gestionar, pulse Compilar para volver a compilar el archivo BAR.
  3. Guarde el archivo BAR compilado.
  4. Pulse el archivo BAR y arrástrelo al grupo de ejecución predeterminado en la vista Intermediarios. Esta acción despliega los flujos en el intermediario.

Ahora puede ejecutar el ejemplo; consulte Ejecución del ejemplo Nodos SOAP. Puede utilizar la misma prueba de flujo porque el flujo de cliente está controlado por una cola WebSphere MQ.

Volver a la página inicial del ejemplo