Formats de message IMS pour messages sortants

Lorsque vous envoyez des messages depuis Liberty à IMS à l'aide d'OTMA, la fonction zosLocalAdapters doit convertir le message du format IMS au format OTMA C/I. Pour effectuer cette conversion, Liberty doit savoir si les segments du message de demande et de réponse sont au format LLZZ ou LLLLZZ.

Un segment de message au format LLZZ débute par une zone de 2 octets qui contient la longueur du segment, suivie par une zone réservée de 2 octets. La portion restante du segment est utilisée par le message concret. La plupart des messages IMS utilisent ce format.

Un segment de message au format LLLLZZ débute par une zone de 4 octets qui contient la longueur du segment, suivie par une zone réservée de 2 octets. La portion restante du segment est utilisée par le message concret. Le format LLLLZZ est utilisé par certains programmes PL/I.

Le format de segment de la demande et de la réponse peut être spécifié dans la définition de fabrique de connexions dans le fichier server.xml, en définissant les propriétés OTMARequestLLZZ et OTMAResponseLLZZ. Le format de segment peut également être spécifié, ou peut être modifié, à l'aide de méthodes sur la classe ConnectionSpecImpl lorsque vous obtenez une connexion de la fabrique de connexion. Le Javadoc généré pour com.ibm.websphere.ola.ConnectionSpecImpl contient des informations supplémentaires sur la définition de zones LLZZ au niveau de la connexion.

Lorsque vous envoyez des messages multi-segments à IMS, le premier segment de message doit contenir l'identificateur IMS à 8 octets de la transaction IMS cible. Cet identificateur de transaction suit le préfixe LLZZ ou LLLLZZ. Les segments ultérieurs ne doivent pas contenir l'identificateur de transaction. Les messages mono-segment doivent être construits de la même manière que le premier segment d'un message multi-segments. Un message multi-segments peut être similaire à ceci :

2 bytes LL 20
2 bytes ZZ 00
8 bytes transaction ID    'MYTRAN01'
8 bytes data  'DATA0000'
2 bytes LL 12
2 bytes ZZ 00
8 bytes data  'DATA0001'
2 bytes LL 12
2 bytes ZZ  00
8 bytes data 'DATA0002'

Tous les segments de message doivent être concaténés en un seul tableau d'octets et transmis à IMS à l'aide d'un IndexedRecord. La classe com.ibm.websphere.ola.IndexedRecordImpl est fournie à cet effet. Le tableau d'octets doit être ajouté à IndexedRecord et transmis à WOLA lorsque vous exécutez Interaction.execute. Lorsque l'interaction renvoie la réponse, elle renvoie un IndexedRecord qui contient tous les segments de réponse concaténés dans un tableau d'octets. Le format des segments est soit LLZZ, soit LLLLZZ, selon la valeur de la propriété OTMAResponseLLZZ.


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

Nom du fichier : rwlp_dat_imsoutmsg.html