Ajout de messages au programme d'écoute MQ de WebSphere

WebSphere Commerce vous permet d'augmenter la capacité du programme d'écoute MQ (anciennement carte de transfert) afin de traiter des messages supplémentaires. Cela implique d'effectuer la procédure suivante :

Pour ce faire, vous devez avoir des connaissances approfondie de XML et des instructions de contrôleur de WebSphere Commerce. Si votre message nécessite la création d'une nouvelle instruction de contrôleur, vous devrez également maîtriser le schéma de la base de données WebSphere Commerce et la programmation Java.

Pour ajouter des messages, procédez comme suit :

  1. Créez un fichier DTD à utiliser pour l'analyse syntaxique du message entrant et le placer dans WC_repinstall/xml/messaging.
  2. Ajoutez-le au code de l'attribut de messagerie ECInboundMessageDtdFiles dans le fichier INSTANCE_name.xmlanbsp;:
    EcInboundMessageDtdPath="E:\WebSphere\CommerceServer55\xml\messaging"
    EcMimePropFile="lang_mime.data"
    EcSystemTemplateFile="sys_template.xml"
    EcTemplatePath="E:\WebSphere\CommerceServer55\xml\messaging"
    EcUserTemplateFile="user_template.xml"
    XMLWebControllerUserId="wcsadmin" 
    />
    
  3. Créez un fichier de mappage pour mapper le contenu du message avec le nom de l'instruction et les paramètres nécessaires dans le fichier modèle des messages. Le modèle initial est disponible dans WC_repinstall/xml/messaging/user_template.xml.
  4. Pour ajouter des messages, poursuivez par ce qui suit :

    • Créez une instruction de contrôleur (interface et implémentation) pour exécuter la logique applicative nécessaire.
    • Ajoutez une ligne à la table URLREG et attribuez un nom d'URL avec un nom d'interface correct.
  5. Si vous remplacez l'implémentation de l'instruction existante, ajoutez ou mettez à jour la ligne correspondante dans la table CMDREG, puis attribuez un mappage de nom de classe correct au nom d'interface correct.
  6. Redémarrez WebSphere Commerce.

Vous pouvez vous reporter aux modèles ci-dessous :

Modèle de message :

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Update_New_Message SYSTEM 'Update_New_Message.dtd'>
<Update_First_Element version='1.0'>
<DataArea>
<ABC>123456</ABC>
</DataArea>
</Update_First_Element>

Modèle de fichier DTD :

<!ELEMENT Update_First_Element (DataArea)>
<!ATTLIST Update_First_Element
  version CDATA #FIXED "1.0">
<!ELEMENT DataArea (ABC)>
<!ELEMENT ABC (#PCDATA)>

Modèle de fichier user_template.xml :

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ECTemplate SYSTEM 'ec_template.dtd' >
<ECTemplate>
<TemplateDocument>
<DocumentType version='1.0'>Update_New_Message</DocumentType>
<StartElement>Update_First_Element</StartElement>
<TemplateTagName>NewMessageMap</TemplateTagName>
<CommandMapping>
<Command CommandName='NewCommand' />
</CommandMapping>
</TemplateDocument>
<TemplateTag name='NewMessageMap'>
<Tag XPath='DataArea/ABC' Field='ABC_id' />
</TemplateTag>
</ECTemplate>