Mappage des propriétés et des zones d'en-tête des messages vers et depuis le format IBM MQ

Lorsque l'intégration de services convertit un message au format IBM MQ, elle définit les zones du MQMD et du MQRFH2 en fonction des zones et propriétés de l'en-tête de message du descripteur de message. Il contient les zones et propriétés de message JMS applicables au message. Lorsque l'intégration de services convertit un message à partir du format IBM MQ, elle définit les zones et propriétés d'en-tête de message de l'intégration de services à partir du MQMD et de MQRFH2 dans le message IBM MQ.

Echange de messages entre des programmes JMS par l'intermédiaire de l'intégration de services et de IBM MQ

En règle générale, il n'est pas utile de connaître les principes de conversion entre les formats de message pour échanger des messages JMS entre l'intégration de services et IBM MQ car l'intégration de services convertit automatiquement, notamment les caractères et le codage numérique. Toutefois, vous devrez peut-être en savoir plus sur la conversion des messages si vos applications JMS ne se comportent pas comme prévu ou si la configuration de l'intégration de services comprend des programmes JMS ou des médiations qui traitent des messages entre des programmes IBM MQ non JMS.

Si vos applications d'intégration de services échangent des objets MapMessage avec des applications IBM MQ, vous devrez probablement spécifier un format de codage de message de mappe autre que celui par défaut.

Propriétés des messages IBM MQ MQMD et MQRFH2

Les messages WebSphere MQ contiennent des propriétés de message dans le descripteur de message (MQMD), ainsi que dans les règles et l'en-tête de formatage 2 (MQRFH2). Le message IBM MQ inclut toujours un MQMD, mais l'en-tête MQRFH2 est facultatif car certaines applications WebSphere MQ ne peuvent pas traiter les messages qui contiennent un en-tête MQRFH2. Pour simplifier l'interopération, vous pouvez configurer l'intégration de services de sorte qu'elle ignore le MQRFH2 provenant des messages d'applications qui ne traitent pas le MQRFH2. Lorsque l'intégration de services ignore le MQRFH2, elle annule les zones et propriétés de l'en-tête de l'intégration de services correspondant.
Remarque : Une petite partie des informations MQRFH2 est également stockée dans les zones du MQMD. Toutefois, ces zones MQMD ne sont pas des équivalents exacts, ont tendance à être moins spécifiques et ne peuvent pas remplacer de manière fiable et adéquate les informations de l'en-tête MQRFH2. Par conséquent, si l'application destinataire peut accepter un en-tête MQRFH2, vous devez toujours en fournir un.

De même, l'intégration de services peut recevoir des messages d'applications IBM MQ qui génèrent des messages sans MQRFH2. Lorsque l'intégration de services reçoit un message sans en-tête MQRFH2, elle crée un en-tête d'intégration de services en le "devinant", en extrayant autant d'informations que possible du MQMD et en utilisant les valeurs par défaut pour les autres zones.

Pour obtenir des informations détaillées relatives au contenu du descripteur de message et des en-têtes de message, reportez-vous au document IBM MQ Application Programming Reference. Pour plus de détails sur le support JMS de IBM MQ, y compris sur la manière dont IBM MQ stocke les propriétés et zones d'en-tête de message JMS dans MQMD et MQRFH2, voir IBM MQ.

Propriétés des messages IBM MQ : zones d'en-tête JMS

Le tableau ci-après montre comment l'intégration de services mappe les zones d'en-tête JMS vers les zones MQMD et MQRFH2 et à partir de ces dernières lorsqu'elle convertit des messages vers le format IBM MQ et à partir de ce dernier.

Dans le tableau, la zone MQRFH2 est indiquée en tant que dossier.zone, oùdossier correspond au nom du dossier MQRFH2 contenant la zone et zone au nom de la zone dans le dossier MQRFH2.

Pour plusieurs zones d'en-tête JMS, il existe à la fois une zone MQMD et une zone MQRFH2. Si l'intégration des services convertit des messages au format IBM MQ, elle définit les deux zones MQMD et MQRFH2. Lorsque le service d'intégration de services convertit des messages de format IBM MQ, il définit la zone d'en-tête JMS depuis la zone MQRFH2 si elle est disponible ou de la zone MQMD si elle ne l'est pas.

Tableau 1. Zones d'en-tête JMS, MQMD et MQRFH2. La première colonne de ce tableau répertorie les zones d'en-tête JMS, tandis que la deuxième colonne indique les zones MQMD associées aux zones d'en-tête JMS de la première colonne. La troisième colonne affiche les zones MQRFH2 associées aux zones d'en-tête JMS de la première colonne. La quatrième colonne fournit des liens, le cas échéant, vers les notes de bas de page qui apparaissent après le tableau.
Zone d'en-tête JMS Zone MQMD Zone MQRFH2 Remarques
JMSCorrelationID CorrelId jms.Cid Voir remarque 1.
JMSDeliveryMode Persistance jms.Dlv Voir remarque 15.
JMSDestination   jms.Dst Voir remarque 16.
JMSExpiration Expiration jms.Exp  
JMSMessageID MsgId    
JMSPriority Priorité   Voir remarque 2.
JMSRedelivered BackoutCount   Voir remarque 3.
JMSReplyTo ReplyToQ et ReplyToQMgr jms.Rto Voir remarque 16.
JMSTimestamp PutDate et PutTime jms.Tms  
JMSType   mcd.Type  
Remarque 1 : La zone MQMD CorrelId peut contenir un ID corrélation IBM MQ standard de 48 chiffres hexadécimaux (24 octets). La propriété JMSCorrelationID peut être une valeur byte[], une chaîne contenant des caractères hexadécimaux précédés de "ID:" ou une chaîne arbitraire ne commençant pas par "ID:". Les deux premières chaînes représentent un ID corrélation IBM MQ standard et sont mappées directement à la zone MQMD CorrelId (tronquée ou remplie avec des zéros si nécessaire) ; elles n'utilisent pas la zone MQRFH2 jms.Cid. La deuxième (chaîne arbitraire) utilise la zone MQRFH2 jms.Cid ; les 24 premiers octets de la chaîne, au format UTF-8, sont enregistrés dans le CorrelID MQMD.
Remarque 2 : IBM MQ stocke la valeur JMSPriority dans la zone jms.Pri de l'en-tête MQRFH2, mais n'utilise aucune valeur qui se trouve déjà dans cette zone. L'intégration de service ne vérifie pas et ne définit pas la zone jms.Pri de l'en-tête MQRFH2.
Remarque 3 : L'intégration de services définit l'indicateur JMSRedelivered d'un message qu'il reçoit de IBM MQ en fonction de la zone BackoutCount du MQMD ; une valeur BackoutCount non nulle indique qu'une précédente réception du message a été annulée.

Propriétés des messages IBM MQ : propriétés définies par JMS

Le tableau ci-après montre comment l'intégration de services mappe les propriétés définies par JMS vers les zones MQMD et MQRFH2 et à partir de ces dernières lorsqu'elle convertit des messages vers le format IBM MQ et à partir de ce dernier.

Dans le tableau, la zone MQRFH2 est indiquée en tant que dossier.zone, oùdossier correspond au nom du dossier MQRFH2 contenant la zone et zone au nom de la zone dans le dossier MQRFH2.

Pour plusieurs propriétés définies par JMS, il existe à la fois une zone MQMD et une zone MQRFH2. Si l'intégration des services convertit des messages au format IBM MQ, elle définit les deux zones MQMD et MQRFH2. Lorsque le service d'intégration de services convertit des messages de format IBM MQ, il définit la propriété spécifiée par JMS depuis la zone MQRFH2 si elle est disponible ou de la zone MQMD si elle ne l'est pas.

Tableau 2. Propriétés JMS avec des zones MQMD et MQRFH2. La première colonne de ce tableau répertorie les propriétés définies par JMS, tandis que la deuxième colonne affiche les zones MQMD associées aux propriétés définies par JMS de la première colonne. La troisième colonne affiche les zones MQRFH2 associées aux propriétés définies par JMS de la première colonne. La quatrième colonne fournit des liens, le cas échéant, vers les notes de bas de page qui apparaissent après le tableau.
Propriété définie par JMS Zone MQMD Zone MQRFH2 Remarques
JMSXAppID PutApplName    
JMSXDeliveryCount BackoutCount    
JMSXGroupID GroupId jms.Gid Voir remarque 4 et 5.
JMSXGroupSeq MsgSeqNumber jms.Seq  
JMSXUserID UserIdentifier    
Remarque 4 : La zone MQMD GroupId peut contenir un IBM MQ ID de groupe standard comportant 48 chiffres hexadécimaux (24 octets). La propriété JMSXGroupID est une chaîne contenant des caractères hexadécimaux précédés de "ID:" ou une chaîne arbitraire ne commençant pas par "ID:". La première de ces chaînes représente une propriété IBM MQ GroupId standard et est mappée directement à la zone MQMD GroupId (tronquée ou remplie avec des zéros si nécessaire). La deuxième (chaîne arbitraire) utilise la zone MQRFH2 jms.Gid ; les 24 premiers octets de la chaîne, au format UTF-8, sont enregistrés dans le GroupId MQMD.
Remarque 5 : Lorsque l'intégration de services convertit des messages au format IBM MQ, si la propriété JMSXGroupID a été définie, l'intégration de services définit également l'indicateur MQMF_MSG_IN_GROUP dans la zone MsgFlags du MQMD. Notez que lors de l'envoi de messages de groupe, l'application JMS expéditrice doit s'assurer que l'indicateur MQMF_LAST_MSG_IN_GROUP est défini de manière appropriée (voir Propriétés des messages IBM MQ : propriétés du fournisseur JMS).

Propriétés des messages IBM MQ : propriétés du fournisseur JMS

Le tableau ci-après montre comment l'intégration de services mappe les propriétés spécifiques au fournisseur JMS vers les zones MQMD et MQRFH2 et à partir de ces dernières lorsqu'elle convertit des messages vers le format WebSphere MQ et à partir de ce dernier. Généralement, vous utilisez ces propriétés pour satisfaire les conditions spéciales de l'application destinataire ; vous devez donc consulter le développeur ou l'administrateur de l'application destinataire pour obtenir des détails sur les valeurs de propriété requises.

Tableau 3. Propriétés du fournisseur JSM avec des zones MQMD et MQRFH2. La première colonne de ce tableau répertorie les propriétés spécifiques au fournisseur JMS, tandis que la deuxième colonne affiche les zones MQMD associées aux propriétés spécifiques au fournisseur JMS de la première colonne. La troisième colonne affiche les zones MQRFH2 associées aux propriétés spécifiques au fournisseur JMS de la première colonne. La quatrième colonne fournit des liens, le cas échéant, vers les notes de bas de page qui apparaissent après le tableau.
Propriété spécifique au fournisseur JMS Zone MQMD Zone MQRFH2 Remarques
JMS_IBM_ArmCorrelator   mqext.Arm Voir remarque 6.
JMS_IBM_Character_Set CodedCharacterSetId CodedCharacterSetId Voir remarque 7.
JMS_IBM_Encoding Encoding Encoding Voir remarque 7.
JMS_IBM_Feedback Commentaires    
JMS_IBM_Format Format Format Voir remarque 7.
JMS_IBM_Last_Msg_In_Group MQMF_LAST_MSG_IN_GROUP   Voir remarque 8.
JMS_IBM_MQMD_CorrelId CorrelId   Voir remarque 9 et 10.
JMS_IBM_MQMD_MsgId MsgId   Voir remarque 9 et 11.
JMS_IBM_MQMD_Persistence Persistence   Voir remarque 9, 12 et 15.
JMS_IBM_MQMD_ReplyToQ ReplyToQ   Voir remarque 9, 13 et 16.
JMS_IBM_MQMD_ReplyToQMgr ReplyToQMgr   Voir remarque 9, 13 et 16.
JMS_IBM_MsgType MsgType    
JMS_IBM_PutDate PutDate    
JMS_IBM_PutTime PutTime    
JMS_IBM_Report_* Report   Voir remarque 14.
JMS_IBM_RMCorrelator   mqext.Wrm  
JMS_TOG_ARM_Correlator   mqext.Arm Voir remarque 6.
Remarque 6 : Vous devez utiliser le nom JMS_TOG_ARM_Correlator pour le corrélateur ARM. Le nom JMS_IBM_ArmCorrelator est disponible pour la compatibilité avec certains programmes JMS existants.
Remarque 7 : Les propriétés JMS_IBM_Character_Set, JMS_IBM_Encoding et JMS_IBM_Format contiennent des informations sur la charge du message IBM MQ ; la partie du message IBM MQ qui suit l'en-tête MQRFH2 (s'il en existe un) ou l'intégralité du message IBM MQ, en dehors de MQMD, s'il n'existe pas d'en-tête MQRFH2. Pour plus d'informations sur ces propriétés et la manière de les utiliser, voir Mappage du corps du message vers et depuis le format IBM MQ.
Remarque 8 : MQMF_LAST_MSG_IN_GROUP est l'un des indicateurs de la zone MsgFlags du MQMD.
Remarque 9 : Les propriétés JMS_IBM_MQMD_CorrelId, JMS_IBM_MQMD_MsgId, JMS_IBM_MQMD_Persistence, JMS_IBM_MQMD_ReplyToQ et JMS_IBM_MQMD_ReplyToQMgr permettent aux applications JMS de remplacer le traitement par défaut des zones MQMD IBM MQ par l'intégration de services. Lorsque l'intégration de services convertit des messages au format IBM MQ, elle définit les zones MQMD correspondantes de chacune de ces propriétés si, et uniquement si, la propriété a été explicitement définie par l'application (à l'aide de setObjectProperty() ou setNonNullProperty()).

L'intégration de services définit chacune de ces propriétés à partir de la zone MQMD correspondante lorsqu'elle convertit un message à partir du format IBM MQ.

Remarque 10 : La propriété JMS_IBM_MQMD_CorrelId remplace le traitement par défaut de la propriété JMSCorrelationID. Lorsque l'intégration de services convertit des messages au format IBM MQ, elle affecte à la zone MQMD CorrelId la valeur (byte[]) si la propriété JMS_IBM_MQMD_CorrelId est explicitement définie, quelle que soit la valeur éventuelle de la propriété JMSCorrelationID. La définition de la propriété JMS_IBM_MQMD_CorrelId n'affecte pas la valeur de la zone MQRFH2 jms.Cid.

Lorsque l'intégration de services convertit des messages à partir du format IBM MQ, elle affecte à la propriété JMS_IBM_MQMD_CorrelId la valeur (byte[]) de la zone MQMD CorrelId, quelle que soit la valeur éventuelle de la zone MQRFH2 jms.Cid.

Remarque 11 : La propriété JMS_IBM_MQMD_MsgId remplace le traitement par défaut de la propriété JMSMessageID par JMS. Lorsque l'intégration de services convertit des messages au format IBM MQ, elle vérifie si la propriété JMS_IBM_MQMD_MsgId a été définie de manière explicite. Si c'est le cas, l'intégration de services affecte à la zone MQMD MsgId cette valeur (byte[]) et remplace la valeur unique de JMSMessageID que JMS alloue au message.

Lorsque l'intégration de services convertit des messages à partir du format IBM MQ, elle affecte à la propriété JMS_IBM_MQMD_MsgId la valeur (byte[]) de la zone MQMD MsgId.

Remarque 12 : La propriété JMS_IBM_MQMD_Persistence remplace le traitement par défaut de la propriété JMSDeliveryMode. Lorsque l'intégration de services convertit des messages au format IBM MQ, elle affecte à la zone MQMD Persistence la valeur (entier) de la propriété JMS_IBM_MQMD_Persistence, si cette dernière est explicitement définie, quelle que soit la valeur éventuelle de la propriété JMSDeliveryMode. La définition de la propriété JMS_IBM_MQMD_Persistence n'affecte pas la valeur de la zone MQRFH2 jms.Dlv.

Lorsque l'intégration de services convertit des messages à partir du format IBM MQ, elle affecte à la propriété JMS_IBM_MQMD_Persistence la valeur (entier) de la zone MQMD Persistence, quelle que soit la valeur éventuelle de la zone MQRFH2 jms.Dlv.

Remarque 13 : Les propriétés JMS_IBM_MQMD_ReplyToQ et JMS_IBM_MQMD_ReplyToQMgr remplacent le traitement par défaut de la propriété JMSReplyTo. Lorsque l'intégration de services convertit des messages au format IBM MQ, elle affecte à la zone MQMD ReplyToQ la valeur (chaîne) de la propriété JMS_IBM_MQMD_ReplyToQ, si cette dernière est explicitement définie, et à la zone MQMD ReplyToQMgr la valeur (chaîne) de la propriété JMS_IBM_MQMD_ReplyToQMgr, si cette dernière est explicitement définie, quelle que soit la valeur éventuelle de la propriété JMSReplyTo. La définition de la propriété JMS_IBM_MQMD_ReplyToQ ou JMS_IBM_MQMD_ReplyToQMgr n'affecte pas la valeur de la zone MQRFH2 jms.Rto.

Lorsque l'intégration de services convertit des messages à partir du format IBM MQ, elle affecte aux propriétés JMS_IBM_MQMD_ReplyToQ et JMS_IBM_MQMD_ReplyToQMgr les valeurs (chaînes) des zones MQMD ReplyToQ et ReplyToQMgr, quelle que soit la valeur éventuelle de la zone MQRFH2 jms.Rto.

Remarque 14 : Pour une liste des propriétés JMS_IBM_Report_*, voir Mappage des zones de rapport MQMD à des propriétés spécifiques au fournisseur JMS.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0007_
Nom du fichier : rjc0007_.html