Bonjour,

Je sollicite votre aide pour un problème de connexion sur un gestionnaire de file d'attente MQSeries distant.

Contexte :
J'ai un serveur unix '10.180.xxx.xxx', sur lequel j'ai le produit MQSeries, avec un QueueManager 'MON_MQMGR', et une queue 'MAQUEUE.IN'.
Ce serveur écoute sur le port par défaut 1414.

D'autres serveurs applicatifs avec MQSeries sont connectés à ce serveur, et parviennent à transmettre des messages dans la file (via un channel 'MQMGR_DISTANT.MON_MQMGR')

Je suis en train de développer une application Java qui se trouve sur un PC différent du serveur, dans laquelle je souhaite insérer des messages directement dans la file distante sur le serveur (avec l'API com.ibm.mq).
En fait, je souhaite reproduire ce que l'on peut faire dans le logiciel "Explorateur Websphere MQ", à savoir : afficher un gestionnaire de file d'attente distant, et y insérer un message.

J'ai essayé les exemple de IBM, et tous les types d'exemples que j'ai trouvé sur les forums à droite à gauche, mais sans succès (mode client, mode server, ...).

Actuellement, mon code est dans l'état suivant, et renvoi un erreur MQJE001 : code achèvement2, raison 2009 (MQManagedConnectionJ11.java:172) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try {
  MQEnvironment.hostname = "10.180.xxx.xxx";
  MQEnvironment.port = 1414;
  MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
  MQQueueManager qMgr = new MQQueueManager("MON_MQMGR");
  int openOptions = MQC.MQOO_OUTPUT;
  MQQueue q = qMgr.accessQueue("MAQUEUE.IN", openOptions, null, null, null);
 
  MQPutMessageOptions pmo = new MQPutMessageOptions();
  pmo.options = MQC.MQPMO_NONE;
  MQMessage mBuf = new MQMessage();
  mBuf.clearMessage();
  mBuf.correlationId = MQC.MQCI_NONE;
  mBuf.messageId = MQC.MQMI_NONE;
  mBuf.writeString("mon message de test");
 
  q.put(mBuf, pmo);
  q.close();
  qMgr.disconnect();
} catch ...
J'y avais mis à l'origine un channel (MQEnvironment.channel = 'DISTANTMGR.MON_MQMGR'), mais je vois que dans l'outil "Explorateur Websphere MQ" aucun channel ne m'est demandé, et pourtant ça fonctionne.

Avez-vous une réponse à ce problème, ou des exemples d'insertion de messages dans une file distante ?

Merci d'avance pour vos réponses !