Desplegar la biblioteca de cliente
La biblioteca de cliente para un servicio de HCL Commerce se puede desplegar en uno de los cuatro entornos posibles:
- Un enlace proxy del cliente de servicio web generado.
- Un enlace EJB local.
- Un enlace de servicio web en una aplicación J2SE.
- Un enlace de servicio utilizando el subsistema de mensajería JCA de HCL Commerce.
- Tiempo de ejecución de WebSphere Application Server Versión 7
- com.ibm.ws.webservices.thinclient_7.0.0.jar
Antes de empezar
Procedimiento
Para desplegar la biblioteca de cliente:
- Start HCL Commerce Developer..
- Empaquete la biblioteca de cliente:
- Si va a empaquetar su propia aplicación de cliente, debe incluir los archivos JAR siguientes en la clase de la aplicación de cliente:
- MyServiceModule-Client.jar, donde MyServiceModule es el nombre de su nuevo módulo de servicio
- MyServiceModule-DataObjects.jar
- workspace_dir\WC\Foundation-Core.jar
- workspace_dir\WC\Foundation-DataObjects.jar
- workspace_dir\WC\Performance-Profiler.jar
- Si va a empaquetar su propia aplicación de cliente, debe incluir los archivos JAR siguientes en la clase de la aplicación de cliente:
- Copie workspace_dir\WC\xml\config\com.ibm.commerce.foundation\wc-config-mapping-registry.xml y SDO.properties a cualquier directorio \config de la vía de acceso de clase de la aplicación cliente. (El archivo debe estar en un directorio denominado config).Nota: El archivo wc-config-mapping-registry.xml forma parte de la configuración de biblioteca de cliente y registra configuraciones de componente del registro de correlación de configuración de Foundation.
Consulte el archivo wc-config-mapping-registry.xml para ver una configuración de muestra.
- En la vía de acceso de clase de la aplicación cliente, cree una carpeta vacía que se denomine config\component-id, donde component-id es el identificador del componente.Por ejemplo, com.myco.commerce.myservicemodule.
- Copie un archivo wc-component-client.xml existente en la nueva carpeta component-id. El wc-component-client.xml existente se encuentra en el directorio workspace_dir\WC\xml\config\com.ibm.commerce.component-id, donde component-id es el nombre del componente, como catalog o content. Debe editar el archivo copiado para utilizarlo con el servicio de componente.
- Seleccione uno de los métodos de enlace siguientes, que se basan en el mecanismo de autenticación que ha elegido:
Opción Descripción Enlace proxy del cliente de servicio web generado: - Abra Inhabilitar enlace de datos y utilizar SOAPElement. . Seleccione la opción
- Abra el módulo EE Java que utiliza la biblioteca de cliente en el editor del Descriptor de despliegue.
- Pulse la pestaña Referencias y añada una referencia de servicio. A continuación, seleccione el botón Siguiente.
- Seleccione la referencia de servicio y seleccione el botón Finalizar.
- Pulse la pestaña Manejador de WS y cree un nuevo manejador para la referencia del servicio recién creado. La clase de manejador debería ser
com.ibm.commerce.foundation.internal.client.services.invocation.impl.JAXRPCWebServiceProxyHandlerImpl
. El propósito de este manejador es incluir información de autorización dentro de la petición SOAP para soporte de usuario registrado e invitado. - Abra el archivo que ha creado en el paso 4 y utilice la clase de proxy generada cambiando para ello la implementación de enlace de invocación a
com.ibm.commerce.foundation.internal.client.services.invocation.impl.JAXRPCWebServiceProxyInvocationBindingImpl
. Añada un proxy a este elemento de enlace denominadoproxyClass
con el valor de la clase de proxy generada. Por ejemplo:<_config:invocationservice> <_config:invocationbinding bindingImpl="com.ibm.commerce.foundation.internal.client.services.invocation.imp l.JAXRPCWebServiceProxyInvocationBindingImpl"> <_config:property name="proxyClass" value="com.ibm.www.CatalogServicesPortTypeProxy"/> </_config:invocationbinding> </_config:invocationservice>
- Utilice la consola administrativa para gestionar el enlace de URL y el valor de seguridad para asociarlo con la configuración de servicio web.
Enlace EJB local Cuando el servicio de HCL Commerce y el cliente de dicho servicio están en la misma aplicación. Por motivos de rendimiento, el cliente no debe realizar una solicitud de servicio web a dicha servicio. En cambio, la comunicación del cliente y del componente deben ser locales a la aplicación para evitar solicitudes de servicio innecesarios.
- Abra el archivo
wc-component-client.xml
que ha creado en el paso 4 y cambie el enlace de invocación para utilizar:com.ibm.commerce.foundation.internal.client.services.invocation.impl.LocalEJBInvocationBindingImpl
- Añada una propiedad
jndiName
del enlace para apuntar al nombre global del componente EJB local. Por ejemplo:<_config:InvocationBinding bindingImpl="com.ibm.commerce.foundation.internal.client.services.invocation.impl.LocalEJBInvocationBindingImpl"> <_config:Property name="jndiName" value="ejb/com/ibm/commerce/catalog/facade/server/CatalogLocalFacadeHome"/> </_config:InvocationBinding>
- Guarde el archivo.
- Despliegue la configuración modificada.
- Reinicie el servidor.
Enlace de servicios web en una aplicación J2SE Cuando el cliente del servicio de HCL Commerce se despliega en un entorno J2SE, no hay servicio de denominación para resolver la referencia al servicio web. En su lugar, el enlace de URL del servicio web se define en la configuración de enlace del cliente.
- Abra el archivo
wc-component-client.xml
que ha creado en el paso 4 y cambie el enlace de invocación para utilizar:com.ibm.commerce.foundation.internal.client.services.invocation.impl.J2SEWebServiceInvocationBindingImpl
- Añada una propiedad de URL al enlace para especificar el URL donde se puede encontrar el servicio web. Por ejemplo:
<_config:InvocationBinding bindingImpl="com.ibm.commerce.foundation.internal.client.services.invocation.impl.J2SEWebServiceInvocationBindingImpl"> <_config:Property name="url" value="http://localhost:81/webapp/wcs/component/catalog/services/CatalogServices"/> </_config:InvocationBinding>
- Guarde el archivo.
- Despliegue la configuración modificada.
- Reinicie el servidor.
Enlace de servicio utilizando el subsistema de mensajería JCA de HCL Commerce Cuando el cliente del servicio se despliega en la aplicación HCL Commerce, la infraestructura de JCA del subsistema de mensajería se puede utilizar para emitir la solicitud de servicio. Con esta configuración, el UI de administración de mensajería existente de la interfaz se puede utilizar para determinar el transporte y el destino del sistema que recibe el mensaje.
- Abra el archivo wc-component-client.xml que ha creado en el paso 4 y cambie el enlace de invocación para utilizar:
com.ibm.commerce.foundation.internal.client.services.invocation.impl.JCAInvocationBindingImpl
- Guarde el archivo.
- Despliegue la configuración modificada.
- Cree un tipo de mensaje para el ID de componente utilizado para crear una instancia del objeto de servicio de invocación, por ejemplo
com.myco.commerce.myservicemodule
. Para ello, añada una fila en la tabla MSGTYPES para asignar un nuevomsgtype_id
. Utilice un número de ID de tipo de mensaje mayor que 1000. Por ejemplo:insert into MSGTYPES (MSGTYPE_ID, MSGTDIR, NAME, VIEWNAME, DESCRIPTION) VALUES (1001, 1, '
com.myco.commerce.myservicemodule
' , '', 'My Service Component' ); - Asignar un tipo de mensaje a un método de transporte para el sitio o la tienda.
- Reinicie el servidor.