Ajout de mappeurs de messages

Pour ajouter un nouveau mappeur de messages, vous devez l'ajouter manuellement au groupe de mappeurs de messages du fichier de configuration HCL Commerce.

Procédure

  1. Ouvrez le fichier de configuration HCL Commerce.
  2. Localisez l'élément MessageMapperGroup.
  3. Définissez votre mappeur de messages, ajoutez un élément MessageMapper en tant qu'élément enfant à l'élément 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>
    

    Où :

    messageMapperId
    Un entier de -100 à -9999. Il doit être unique dans le MessageMapperGroup.
    classname
    Nom de la classe implémentant l'interface MesssageMapper. Par exemple, com.ibm.commerce.messaging.programadapter.messagemapper.ecsax.ECSAXMessageMapper.
    Notes :
    • Si vous ne définissez pas EcSystemTemplateFile et EcUserTemplateFile dans <MessageMapper>, les valeurs de message par défaut sont utilisées. Les valeurs par défaut - EcSystemTemplateFile et EcUserTemplateFile - sont situées dans l'élément de HCL Commerce fichier de configuration <Messaging>. Si EcSystemTemplateFile, EcUserTemplateFile ou les deux sont définis, les valeurs par défaut <Messaging> ne sont pas utilisées.
    • Si EcInboundMessageDtdPath et EcInboundMessageDtdFiles ne sont pas spécifiés dans <MessageMapper>, les valeurs par défaut sont utilisées. Les valeurs par défaut se trouvent dans l'élément de HCL Commerce fichier de configuration <Messaging>. Si EcInboundMessageDtdPath, EcInboundMessageDtdFiles ou les deux sont définis, les valeurs par défaut <Messaging> ne sont pas utilisées.
    • Si EcSystemTemplateFile ou EcUserTemplateFile contiennent une valeur vide (par exemple EcSystemTemplateFile="") une exception NullPointerException est lancée.
    • HCL Commerce Version 9.1.12.0 or laterPour le mappeur WCS.INTEGRATION, le paramètre isValidating est défini sur "true" par défaut et 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". Cette configuration empêche l'analyseur syntaxique XML d'analyser des entités générales externes et des entités de paramètre externes.
  4. Dans l'élément <configuration>, ajoutez tous les attributs de configuration supplémentaires dont le mappeur de messages a besoin. Il est converti en objet TypedProperty et passe à la méthode init du mappeur de messages.
    Remarque : Afin de faire fonctionner correctement vos mappeurs de messages, assurez-vous que vous utilisez le nom de classe d'implémentation plus récent de l'analyseur XML, EcSaxParserClass="org.apache.xerces.parsers.SAXParser".
  5. Ajoutez ce nom de mappeur de messages à la liste des noms de mappeur de messages dans l'attribut "supportedMessageMappers" de l'élément de configuration de l'adaptateur de programme cible, comme décrit dans Configuration de l'adaptateur de programme.