Crear el mandato de servicio

El mandato de servicio es el punto de entrada en la fachada de componente donde el Documento de objeto de negocio (BOD) empieza a ser procesado por la lógica de negocio.

Por qué y cuándo se efectúa esta tarea

Para crear un mandato de servicio:

Procedimiento

  1. Cree un módulo de servicio de HCL Commerce. Esto genera automáticamente el shell de una clase de mandato.
  2. Vaya al proyecto de MyServiceModule-Server.
  3. Abra la clase com.mycompany.commerce. myservicemodule.server.commands.VerbNounCmdImpl.java.
  4. Complete este mandato de shell implementando la lógica de negocio, siguiendo el patrón de diseño para la implementación de servicios Get o el patrón de diseño para la implementación de servicios Process, Change y Sync. Este es el enfoque más sencillo para implementar una fachada de componente -- utilice el mandato de shell para analizar ejecutar cualquier mandato personalizado o existente de HCL Commerce que contenga lógica de negocio que desee reutilizar.
  5. Opcional: De forma alternativa, puede utilizar el Correlacionador de mensajes para presentar simultáneamente los mensajes XML en parejas de nombre-valor adecuadas para los mandatos de HCL Commerce. Si hace esto, utilizará la tabla de registro de mandatos para seleccionar la implementación de mandato correcta, basándose en la expresión XPath de entrada del BOD. Para ver un ejemplo de cómo el subsistema de miembros correlaciona los mensajes XML con las parejas de nombre-valor de mandatos, consulte Correlacionador de mensajes del componente de miembro.
  6. Registre el nuevo mandato. Cuando lo haga, si está utilizando el correlacionador de mensajes, tendrá que asociar la clave de la expresión de búsqueda XPath a su nueva implementación del mandato Fetch personalizada con una sentencia SQL. Por ejemplo:
    
    insert into cmdreg (STOREENT_ID, INTERFACENAME, CLASSNAME,TARGET)
    VALUES 
    (0,'com.ibm.commerce.catalog.facade.server.commands.FetchCatalogEntryCmd+/CatalogEntry[Price[StandardPrice[Price[(Price<=
    and Price[@currency=]) 
    and (Price>= and Price[@currency=])]]]]',
    'com.mycompany.commerce.customization.catalog.FetchCatalogEntryByPriceRangeTaskCmdImpl',
    'Local');
    
    Notes:
    1. El nombre de la interfaz contiene el nombre del mandato concatenado con el XPath.
    2. Para las implementaciones que no utilizan el correlacionador de mensajes, incluyendo la personalización de subsistema de miembros de HCL Commerce, debe actualizar la entrada CMDREG del mandato de captación predeterminado existente. Además, no se incluyen detalles de XPath en la sentencia SQL update.