Asignación del código de extensión a los puntos de extensión

Después de desarrollar el código de extensión xC, debe registrar el código de extensión dentro de la base de datos de HCL Commerce y asignar el código de extensión a los puntos de extensión.

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

Es necesario que cargue la información en dos tablas de base de datos para asignar y registrar su personalización xC; UEConfig y CmdReg.
  • Cargue los datos en la tabla UEConfig para registrar su código de extensión y asocie la vía de acceso del método personalizado a un UEConfigId exclusivo.
  • Cargue los datos en la tabla CmdReg para asignar el UEConfigId (que se correlaciona con el código de extensión) a un punto de extensión (mandato).

    El punto de extensión se registra para la tienda que se identifica en la columna storeent_id. Si desea registrar un punto de extensión para varias tiendas, debe incluir los datos para registrar la extensión para cada tienda en una línea separada en el archivo.



Para registrar y asignar el código de extensión, puede utilizar SQL para cargar los datos en la base de datos, o bien puede utilizar el programa de utilidad de carga de datos para cargar los archivos CSV.

Utilizando SQL

Procedimiento

  1. Conéctese a la base de datos.
  2. Cargue datos en la tabla de base de datos UEConfig. Modifique el siguiente ejemplo de SQL con los valores siguientes.
    Este SQL registra el código de extensión de asociar la vía de acceso de su método personalizado a un UEConfigId exclusivo.
    INSERT INTO UECONFIG(UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,TIMEOUT,RETRIABLE) VALUES (<UEConfigId>,'<Url>','<HttpMethod>','<Description>',<TIMEOUT>,<RETRIABLE>);
    
    UEConfigld
    (Entero) Obligatorio: El ID exclusivo del código de extensión xC. Utilice UEConfigId cuando asigne el código de extensión a un punto de extensión en el archivoCmdReg.csv.
    Url
    (Serie) Obligatoria: El URL relativo del método de recurso de extensión xC de la raíz de contexto. Está asignando este URL al UEConfigId que ha especificado anteriormente. Por ejemplo, en el URL, https://hostname:9443/commerceue/extension/order/validate_quantity, Especifique /extension/order/validate_quantity como el valor de URL.
    commerceue
    La raíz de contexto del servidor de personalización.
    ampliación
    El URL base de la aplicación JAX-RS.
    orden
    La vía de acceso de la clase de recursos.
    validate_quantity
    El punto de extensión.

    Número máximo de caracteres, 512.

    HttpMethod
    (Serie) El método de solicitud de HTTP para la extensión. Establezca siempre el valor en POST.
    Descripción:
    La descripción de la extensión.

    Número máximo de caracteres, 254.

    Propiedades
    (Serie) Una lista de propiedades separadas por el símbolo ampersand (&) en forma de pares nombre-valor codificados de URL. Las propiedades soportadas incluyen:
    • useBridgeClient: Establezca esta propiedad en true si el código de extensión realiza llamadas al servidor de transacciones Rest API (useBridgeClient=true)
    • Content-Type: Establezca esta propiedad en application/json o text/plain. La propiedad la utiliza el servidor de personalización para localizar el método de recurso coincidente.

    Número máximo de caracteres, 512.

    FilterId
    (Entero) El FilterId de un filtro que se va a utilizar. FilterId puede ser nulo para indicar que el filtrado no es necesario. El FilterId se carga con un archivo Filter.csv.
    Se puede reintentar
    Indica si se vuelve a intentar la solicitud de ampliación cuando la solicitud falla. Los valores válidos son:
    0
    False
    1
    True
    Tiempo de espera
    (Entero) La cantidad de tiempo que se debe esperar (en milisegundos) para una solicitud antes de que se considere fallida. Si es nulo, se utiliza un valor predeterminado.
    Delete
    (Serie) Indica si se va a eliminar el registro. Especifique 1 para eliminar el registro.
    Por ejemplo,
    INSERT INTO UECONFIG(UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,REQUESTHANDLER,RESPONSEHANDLER,TIMEOUT,RETRIABLE) VALUES (120570201,'extension/tax/tax_integration_custom','POST','Tax Integration','com.ibm.commerce.order.ue.TaxIntegrationCustomCmdRequestHandler','com.ibm.commerce.order.ue.TaxIntegrationCustomCmdResponseHandler',60000,1);
  3. Cargue datos en la tabla de base de datos CmdReg. Modifique el siguiente ejemplo de SQL con los valores siguientes.
    Este SQL asigna el UEConfigId (que se correlaciona con su código de extensión) A un punto de extensión (de mandato).
    INSERT INTO CMDREG(storeent_id, interfacename, description, classname, properties, target) VALUES (Storeent_id, '<InterfaceName>', '<Description>', '<ClassName>', '<Properties>', '<target>');
    
    StoreIdentifier
    (Serie) Obligatoria: El identificador exclusivo de la tienda en la que está registrando el punto de extensión.
    Nota:
    • Si desea registrar el mandato para una tienda determinada, especifique el identificador exclusivo de la tienda.
    • Si desea registrar el mandato para todas las tiendas, especifique NullEntity.
    Descripción:
    (Serie) Una descripción del mandato.

    Número máximo de caracteres, 254.

    InterfaceName
    (Serie) Obligatoria: El punto de extensión de interfaz de mandatos que el código de extensión está ampliando.

    Número máximo de caracteres, 254.

    ClassName
    (Serie) La clase de implementación para la extensión xC personalizada de la raíz de contexto.

    Número máximo de caracteres, 254.

    Propiedades
    (Serie) Las propiedades predeterminadas asociadas a este mandato. Las propiedades están en el formulario "property1=value1&property2=value2", donde la propiedad es el nombre de la propiedad y el valor es el valor correspondiente a la propiedad.
    Propiedades válidas:
    preExecute
    (Booleano) Indica si el código de extensión se ejecuta antes que el mandato. El valor true indica que el código de extensión se ejecutará antes que el mandato.
    replaceExecute
    (Booleano) Indica si el código de extensión se ejecuta en lugar del mandato. El valor true indica que el código de extensión se ejecutará en lugar del mandato.
    postExecute
    (Booleano) Indica si el código de extensión se ejecuta después del mandato. El valor true indica que el código de extensión se ejecutará después del mandato.
    preUEConfigId, replaceUEConfigId o postUEConfigId
    Cuando se especifican los parámetros preExecute, ReplaceExecute o postExecute, también se debe proporcionar el UEConfigId correspondiente. UEConfigId se carga con un archivo UEConfig.csv. Para obtener más información, consulte Definiciones de archivos de entrada de objetos UEConfig.
    restTarget
    Indica si la extensión llama al servicio de REST remoto. Establezca el valor en true (restTarget=true).

    Número máximo de caracteres, 254.

    Delete
    (Serie) Indica si se va a eliminar el registro. Especifique 1 para eliminar el registro.
    Por ejemplo,
    INSERT INTO CMDREG(storeent_id, interfacename, description, classname, properties, target) VALUES (0, 'com.ibm.commerce.isv.kit.tax.TaxIntegrationCustomCmd', 'Tax Integration Custom command default implementation', 'com.ibm.commerce.isv.kit.tax.TaxIntegrationCustomCmdImpl', 'replaceUEConfigId=120570201&replaceExecute=true&restTarget=true&retriable=1', 'Local');
    
  4. Verifique los datos cargados.
    SELECT * FROM UECONFIG
    SELECT * FROM CMDREG
    

Utilización del programa de utilidad de carga de datos

Procedimiento

  1. Descargue el siguiente archivo y extraiga en el directorio WCDE_installdir/samples/DataLoad/.
    Asegúrese de que ahora tiene un directorio WCDE_installdir/samples/DataLoad/xC.
  2. Cree un archivo denominado UEConfig_sample.csv en el directorio WCDE_installdir/samples/DataLoad/xC.
    Nota: Puede cambiar el nombre de archivo por un nombre exclusivo.
  3. Añada el siguiente contenido al archivo CSV.
    UEConfig,,,,,,,
    UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,TIMEOUT,RETRIABLE
    
  4. En la tercera fila, añada los valores.
    UEConfigld
    (Entero) Obligatorio: El ID exclusivo del código de extensión xC. Utilice UEConfigId cuando asigne el código de extensión a un punto de extensión en el archivoCmdReg.csv.
    Url
    (Serie) Obligatoria: El URL relativo del método de recurso de extensión xC de la raíz de contexto. Está asignando este URL al UEConfigId que ha especificado anteriormente. Por ejemplo, en el URL, https://hostname:9443/commerceue/extension/order/validate_quantity, Especifique /extension/order/validate_quantity como el valor de URL.
    commerceue
    La raíz de contexto del servidor de personalización.
    ampliación
    El URL base de la aplicación JAX-RS.
    orden
    La vía de acceso de la clase de recursos.
    validate_quantity
    El punto de extensión.

    Número máximo de caracteres, 512.

    HttpMethod
    (Serie) El método de solicitud de HTTP para la extensión. Establezca siempre el valor en POST.
    Descripción:
    La descripción de la extensión.

    Número máximo de caracteres, 254.

    Propiedades
    (Serie) Una lista de propiedades separadas por el símbolo ampersand (&) en forma de pares nombre-valor codificados de URL. Las propiedades soportadas incluyen:
    • useBridgeClient: Establezca esta propiedad en true si el código de extensión realiza llamadas al servidor de transacciones Rest API (useBridgeClient=true)
    • Content-Type: Establezca esta propiedad en application/json o text/plain. La propiedad la utiliza el servidor de personalización para localizar el método de recurso coincidente.

    Número máximo de caracteres, 512.

    FilterId
    (Entero) El FilterId de un filtro que se va a utilizar. FilterId puede ser nulo para indicar que el filtrado no es necesario. El FilterId se carga con un archivo Filter.csv.
    Se puede reintentar
    Indica si se vuelve a intentar la solicitud de ampliación cuando la solicitud falla. Los valores válidos son:
    0
    False
    1
    True
    Tiempo de espera
    (Entero) La cantidad de tiempo que se debe esperar (en milisegundos) para una solicitud antes de que se considere fallida. Si es nulo, se utiliza un valor predeterminado.
    Delete
    (Serie) Indica si se va a eliminar el registro. Especifique 1 para eliminar el registro.
  5. Cree un archivo denominado CmdReg_sample.csv en el directorio WCDE_installdir/samples/DataLoad/xC.
    Nota: Puede cambiar el nombre de archivo por un nombre exclusivo.
  6. Añada el siguiente contenido al archivo CSV.
    CmdReg,
    storeent_id, interfacename, description, classname, properties, target
  7. En la tercera fila, añada los valores.
    StoreIdentifier
    (Serie) Obligatoria: El identificador exclusivo de la tienda en la que está registrando el punto de extensión.
    Nota:
    • Si desea registrar el mandato para una tienda determinada, especifique el identificador exclusivo de la tienda.
    • Si desea registrar el mandato para todas las tiendas, especifique NullEntity.
    Descripción:
    (Serie) Una descripción del mandato.

    Número máximo de caracteres, 254.

    InterfaceName
    (Serie) Obligatoria: El punto de extensión de interfaz de mandatos que el código de extensión está ampliando.

    Número máximo de caracteres, 254.

    ClassName
    (Serie) La clase de implementación para la extensión xC personalizada de la raíz de contexto.

    Número máximo de caracteres, 254.

    Propiedades
    (Serie) Las propiedades predeterminadas asociadas a este mandato. Las propiedades están en el formulario "property1=value1&property2=value2", donde la propiedad es el nombre de la propiedad y el valor es el valor correspondiente a la propiedad.
    Propiedades válidas:
    preExecute
    (Booleano) Indica si el código de extensión se ejecuta antes que el mandato. El valor true indica que el código de extensión se ejecutará antes que el mandato.
    replaceExecute
    (Booleano) Indica si el código de extensión se ejecuta en lugar del mandato. El valor true indica que el código de extensión se ejecutará en lugar del mandato.
    postExecute
    (Booleano) Indica si el código de extensión se ejecuta después del mandato. El valor true indica que el código de extensión se ejecutará después del mandato.
    preUEConfigId, replaceUEConfigId o postUEConfigId
    Cuando se especifican los parámetros preExecute, ReplaceExecute o postExecute, también se debe proporcionar el UEConfigId correspondiente. UEConfigId se carga con un archivo UEConfig.csv. Para obtener más información, consulte Definiciones de archivos de entrada de objetos UEConfig.
    restTarget
    Indica si la extensión llama al servicio de REST remoto. Establezca el valor en true (restTarget=true).

    Número máximo de caracteres, 254.

    Delete
    (Serie) Indica si se va a eliminar el registro. Especifique 1 para eliminar el registro.
  8. Modifique WCDE_installdir/samples/DataLoad/xC/wc-dataload-cmdreg.xml para utilizar el nombre de archivo de entrada CmdReg.
    Por ejemplo,
    <_config:LoadOrder commitCount="100" batchSize="1" dataLoadMode="Replace" >
      	<_config:LoadItem name="CMDREG" businessObjectConfigFile="wc-loader-cmdreg.xml" 
      	     startKey="100000001" endKey="200000000">
      	    <_config:DataSourceLocation location="<your_CmdReg_input.csv>" />
      	</_config:LoadItem>
    </_config:LoadOrder>
    
  9. Modifique WCDE_installdir/samples/DataLoad/xC/wc-dataload-ueconfig.xml para utilizar el nombre de archivo de entrada UEConfig.
    Por ejemplo,
    <_config:LoadOrder commitCount="100" batchSize="1" dataLoadMode="Replace" >
      	   <_config:LoadItem name="UEConfig" businessObjectConfigFile="wc-loader-ueconfig.xml" 
      	     startKey="100000001" endKey="200000000">
      	        <_config:DataSourceLocation location="your_UEconfig_input.csv" />
      	   </_config:LoadItem>
        </_config:LoadOrder>
  10. Modifique de WCDE_installdir/samples/DataLoad/xC/wc-dataload-env.xml acuerdo con la información de la base de datos.
  11. Abra un programa de utilidad de línea de mandatos y vaya a WCDE_installdir/bin.
  12. Cargue datos en la base de datos ejecutando el siguiente mandato:
    dataload.bat WCDE_installdir/samples/DataLoad/xC/wc-dataload-cmdreg.xml
    dataload.bat WCDE_installdir/samples/DataLoad/xC/wc-dataload-ueconfig.xml