そのため、メッセージを WebSphere に送信し、それを正常にキューに入れました。ただし、別のキューから取得する際に問題があります。しかし、次の行を使用してメッセージを送信したときに気づいたこと:
inputMessage.writeUTF(message);
メッセージは次のとおりです。
basket/argos/1001?authToken=fgTSdfs&trustToken=gdf43FsfSFefs33&apiKey=ahjd9234imnmdfnwi&sig=abcde&currency=GBP
これはxmlファイルに保存され、メッセージの先頭に「n」が追加されています。誰でも理由を教えてもらえますか? コードは以下のとおりです。
MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
// Config
cf.setHostName(hostname);
cf.setPort(portNumber);
cf.setQueueManager(queueManager);
cf.setChannel(channel);
//MQQueueConnection connection = (MQQueueConnection) cf.createQueueConnection();
//MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
//MQQueue queue = (MQQueue) session.createQueue(inputQueue);
//MQQueue queue = (MQQueue)session.
//MQQueueSender sender = (MQQueueSender) session.createSender(queue);
//MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(queue);
MQQueueManager qMgr = new MQQueueManager(queueManager);
System.out.println("Queue manager created");
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF |
MQC.MQOO_OUTPUT ;
System.out.println("MQ Options created");
MQQueue mqInputQueue =
qMgr.accessQueue(inputQueue,
openOptions);
System.out.println("Queue created");
MQMessage inputMessage = new MQMessage();
inputMessage.writeUTF(message);
System.out.println("message created and sent");
MQPutMessageOptions pmo = new MQPutMessageOptions(); // accept the defaults,
// same as
// MQPMO_DEFAULT
// constant
System.out.println("Queue options created");
// put the message on the queue
mqInputQueue.put(inputMessage,pmo);
System.out.println("Message put on queue");
mqInputQueue.close();