Opción de migración 1 para el enlace de servicios Web (SOAP/HTTP) de IBM

La primera opción de migración del enlace de proceso de SOAP/HTTP de WebSphere Studio Application Developer Integration Edition permite a un cliente de servicios Web acceder a los procesos de negocio.

La exportación con enlace de servicio Web hace que un cliente de servicios Web externo pueda acceder a un componente SCA. Para crear una exportación con enlace de servicio Web:
  1. Abra el editor de ensamblajes para el módulo creado por el asistente de migración.
  2. Cree una exportación con enlace de SCA para cada interfaz de proceso BPEL para la que se haya generado un enlace de servicio Web de IBM (SOAP/HTTP) en WebSphere Studio Application Developer Integration Edition pulsando con el botón derecho del ratón en el componente BPEL del editor de ensamblajes.
  3. Seleccione Exportar….
  4. Seleccione Enlace de servicio Web.
  5. Si hay varias interfaces para el componente, seleccione la que le permita exportar con este tipo de enlace.
  6. Seleccione el transporte soap/http.
  7. Una vez creada la exportación de servicios Web, seleccione la exportación en el editor de ensamblajes y en la vista de propiedades seleccione el panel de contenido Descripción. Se muestran el nombre y la descripción de la exportación, que pueden modificarse según convenga.
  8. Guarde el diagrama de ensamblaje.
  9. Siga estos pasos para generar un enlace de servicio Web y un servicio nuevos si desea preservar el código del cliente:
    1. Copie el archivo WSDL 5.1 del proyecto EJB generado en 5.1 situado en ejbModule/META-INF/wsdl/nombre de proceso de negocio/nombre de tipo de puerto de interfaz de proceso de negocio_HTTP.wsdl en el proyecto de módulo de integración de negocio.
    2. Después de copiar sobre el archivo y de volver a construir el módulo, puede ver mensajes de error ya que los tipos de esquema XML, los mensajes WSDL y los tipos de puerto WSDL utilizados por el servicio Web están duplicados en el archivo WSDL del servicio Web de IBM en 5.1. Para arreglar esto, suprima las definiciones duplicadas del enlace de servicio Web de IBM/WSDL de servicio y en su lugar añada una importación WSDL para el WSDL de interfaz real. Nota: es importante tener en cuenta que cuando WebSphere Studio Application Developer Integration Edition generó el código de despliegue de servicio Web de IBM modificó las definiciones de esquema en algunos casos. Esto puede originar incoherencias para los clientes existentes que utilizan el WSDL de servicio Web de IBM. Por ejemplo, el atributo del esquema "elementFormDefault" se estableció en "qualified" en el esquema en línea generado en el WSDL de servicio Web de IBM incluso aunque la definición de esquema original no estuviera calificada. Esto generaría el error siguiente en tiempo de ejecución: WSWS3047E: Error: no se puede deserializar el elemento.
    3. Pulse con el botón derecho sobre el archivo WSDL que acaba de copiar en el módulo de integración de negocio, seleccione Abrir con y después Editor WSDL.
    4. Vaya a la pestaña Origen. Suprima todos los mensajes y tipos de puerto WSDL definidos en este archivo.
    5. Ahora verá el error: El tipo de puerto '<tipo_de_puerto>' especificado para el enlace '<enlace>' no está definido. Para arreglar esto, en el Editor WSDL de la pestaña Gráfico, pulse con el botón derecho en la sección Importaciones y seleccione Añadir importación.
    6. En la vista de propiedades de la pestaña General, pulse el botón situado a la derecha del campo Ubicación. Busque la interfaz WSDL en la que están ubicados el mensaje WSDL y las definiciones de tipo de puerto y pulse Aceptar para importar el WSDL de interfaz en el WSDL de servicio/enlace.
    7. Guarde el archivo WSDL.
    8. Renueve/reconstruya el proyecto. Pase a la perspectiva Integración empresarial. Abra el Diagrama de ensamblaje en el Editor de ensamblaje.
    9. En la vista del explorador de proyectos, expanda el módulo que está migrando y expanda la categoría lógica Puertos de servicio Web. Debe ver el puerto que existe en el WSDL de enlace/servicio listado. Arrástrelo y suéltelo en el Editor de ensamblaje.
    10. Elija crear una Exportación con enlace de servicio Web y seleccione el nombre de puerto adecuado. Esto creará la Exportación que utiliza el enlace/servicio antiguo de forma que los clientes de servicios Web existentes no tienen que cambiar. Si selecciona la exportación que acaba de crear en el Editor de ensamblaje y va a la vista propiedades, en la pestaña Enlace debe ver que los nombres de servicio y el puerto 5.1 están cumplimentados.
    11. Guarde todos los cambios.
    12. Justo después de desplegar la aplicación puede cambiar la configuración del proyecto Web generado para que coincida con la dirección de servicio 5.1 (deberá hacer estos cambios cada vez que haga cambios en el módulo SCA que impliquen la regeneración de este archivo.) Si mira en la definición de servicio WSDL de servicio Web de IBM que está reutilizando de 5.1, verá la dirección de servicio a la que el cliente 5.1 está codificado: <wsdlsoap:address location="http://localhost:9080/MyServiceWeb/services/MyServicePort"/>
    13. Para que los artefactos de proyecto Web generados en 6.0 coincidan con esta dirección de servicio antigua, debe modificar el descriptor de despliegue del proyecto Web generado. Abra el descriptor de despliegue en WebSphere Integration Developer y, en la pestaña Servlets, añada una Correlación URL adicional que sea muy parecida a la correlación URL existente para esa exportación, con el mismo nombre de servlet pero con un patrón de URL distinto.
    14. Además, si necesita modificar la raíz de contexto de este proyecto Web para que coincida con la raíz de contexto en la dirección de servicio original (en este ejemplo la raíz de contexto es "MyServiceWeb"), puede abrir el descriptor de despliegue para la Aplicación de empresa J2EE Enterprise en la que está este proyecto Web y cambiar la raíz de contexto de ese módulo Web para que coincida con la raíz de contexto de la antigua dirección de servicio. Puede aparecer el error siguiente que puede pasar por alto: CHKJ3017E: el proyecto Web <NOM PROY WEB> está correlacionado con una raíz de contexto no válida <RAÍZ CONTEXTO NUEVO> en el proyecto EAR <NOMBRE APL>.

Comentarios
(C) Copyright IBM Corporation 2005, 2006. Reservados todos los derechos.