Añadir correlacionadores de mensajes

Para añadir un nuevo correlacionador de mensajes, debe añadirlo manualmente al grupo de correlacionadores de mensajes en el archivo de configuración de HCL Commerce.

Procedimiento

  1. Abra el archivo de configuración de HCL Commerce.
  2. Localice el elemento MessageMapperGroup.
  3. Defina el correlacionador de mensajes y añada un elemento MessageMapper como elemento hijo del elemento MessageMapperGroup.
    
    <component compClassName="com.ibm.commerce.programadapter.messagemapper.MessageMapperGroup"
    enable="true"
    name="MessageMapperGroup">
    <property display="false">
    <MessageMapper messageMapperId="new 
    mapper 
    id" 
    classname="class implementing
     MessageMapper
     interface" 
    enable="true" 
    name="Name of Message Mapper"> 
     <configuration 
      EcSystemTemplateFile="my-component-services-system-template.xml" 
      EcUserTemplateFile="my-component-services-user-template.xml"
      EcInboundMessageDtdFiles="something.dtd" 
      EcTemplatePath="some_dir" 
      EcSaxParserClass="org.apache.xerces.parsers.SAXParser" 
      EcInboundMessageDtdPath="some_dir" 
      isValidating="false" 
      DebugMode="FALSE"
      EmptyElementClearsData="FALSE"/>
    </MessageMapper>
    

    Donde:

    messageMapperId
    Un entero comprendido entre -100 y -9999. Debe ser exclusivo en el MessageMapperGroup.
    classname
    El nombre de la clase que implementa la interfaz MesssageMapper. Por ejemplo, com.ibm.commerce.messaging.programadapter.messagemapper.ecsax.ECSAXMessageMapper.
    Notes:
    • Si no define EcSystemTemplateFile y EcUserTemplateFile en <MessageMapper>, se utilizan los valores de mensaje predeterminados. Los valores predeterminados (EcSystemTemplateFile y EcUserTemplateFile) se encuentran en el elemento HCL Commercearchivo de configuración <Messaging>. Si se definen EcSystemTemplateFile, EcUserTemplateFile, o ambos, no se utilizan los valores predeterminados <Messaging>.
    • Si no se especifican EcInboundMessageDtdPath y EcInboundMessageDtdFiles en <MessageMapper>, se utilizan los valores predeterminados. Los valores predeterminados se encuentran en el elemento HCL Commercearchivo de configuración <Messaging>. Si se definen EcInboundMessageDtdPath, EcInboundMessageDtdFiles, o ambos, no se utilizan los valores predeterminados <Messaging>.
    • Si EcSystemTemplateFile o EcUserTemplateFile contienen un valor vacío (por ejemplo, EcSystemTemplateFile=""), se emite una expresión NullPointerException.
    • HCL Commerce Version 9.1.12.0 or laterPara el correlacionador WCS.INTEGRATION, el parámetro isValidating se establece en "true" de forma predeterminada y ParserFeatureList="http://apache.org/xml/features/nonvalidating/load-external-dtd=false,http://xml.org/sax/features/external-general-entities=false,http://xml.org/sax/features/external-parameter-entities=false". Esta configuración impide que el analizador de XML analice entidades generales externas y entidades de parámetros externos.
  4. Dentro del elemento <configuration>, añada todos los atributos de configuración adicionales que necesita el correlacionador de mensajes. Esto se convierte en un objeto TypedProperty y se pasa al método init del correlacionador de mensajes.
    Nota: Para que los correlacionadores de mensajes funcionen correctamente, asegúrese de que está utilizando el nombre de clase de implementación más reciente del analizador XML, EcSaxParserClass="org.apache.xerces.parsers.SAXParser".
  5. Añada este nombre de correlacionador de mensajes a la lista de nombres de correlacionadores de mensajes en el atributo "supportedMessageMappers" del elemento de configuración del adaptador del programa de destino, como se describe en Configurar el adaptador de programa.