Вы должны прочитать о целевом клиенте - см. здесь .
Есть 3 способа решить вашу проблему:
(1) Используйте метод setTargetClient и MQ удалит все заголовки JMS (также известные как заголовки MQRFH2) и доставит только полезную нагрузку
conn = mqQCF.createQueueConnection("MyUserId", "mypwd");
conn.start();
session = conn.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
myQ = session.createQueue("my.test.queue");
MQDestination mqd = (MQDestination) myQ;
mqd.setTargetClient(WMQConstants.WMQ_CLIENT_NONJMS_MQ);
(2) Явно установите имя очереди MQ и целевого клиента (1 для MQ и 0 для сообщения JMS) и MQ удалит все заголовки JMS (также известные как заголовки MQRFH2) и доставит только полезную нагрузку
conn = mqQCF.createQueueConnection("MyUserId", "mypwd");
conn.start();
session = conn.createQueueSession(true, 0);
queue = queueSession.createQueue("queue://MQA1/TEST.Q1?targetClient=1");
sender = queueSession.createSender(queue);
(3) Установите целевой клиент в MQ JNDI, и MQ удалит все заголовки JMS (также известные как заголовки MQRFH2) и доставит только полезная нагрузка
DEFINE Q(my.test.queue) QUEUE(TEST.Q1) QMANAGER(MQA1) TARGCLIENT(MQ) FAILIFQUIESCE(YES)