|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Problem with JMS->CICS (non-JMS) receiver - header(s) |
« View previous topic :: View next topic » |
Author |
Message
|
paulf1 |
Posted: Mon Jan 14, 2013 12:56 pm Post subject: Problem with JMS->CICS (non-JMS) receiver - header(s) |
|
|
Newbie
Joined: 14 Jan 2013 Posts: 7
|
I am having a real heck of an issue here. I am sending TextMessages from a Java app (using Spring JMS) to a CICS client (MQ-only). The messages appear garbled on the CICS side (I have no control over that side; I can only see message traces in the log).
I have come to realize that I must set targetClient to 1 (MQJMS_CLIENT_NONJMS_MQ) to get MQ to take off the header. The problem, which I can deduce from examining the message in BMC's JMS viewer, is that the header is still there, as there are properties like mcd.Msd, mcd.Type, etc., visible in the properties tab.
(I am replicating the functionality of an existing app that does NOT have this problem. The legacy app does not use Spring JMS. I am setting up my connection & queue in identical manner.)
Here is the config for the QueueConnectionFactory and Queue (if you aren't familiar with Spring, this should be self-explanatory - just setting properties):
Code: |
<bean id="outboundJmsConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType">
<util:constant static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP"/>
</property>
<property name="hostName" value="${grs.mq.out.queue.host}"/>
<property name="port" value="${grs.mq.out.queue.port}"/>
<property name="queueManager" value="${grs.mq.out.queue.manager}"/>
<property name="channel" value="${grs.mq.out.queue.channel}"/>
</bean>
<bean id="jmsSenderQueue" class="com.ibm.mq.jms.MQQueue">
<property name="baseQueueManagerName" value="${grs.mq.out.queue.manager}"/>
<property name="baseQueueName" value="${grs.mq.out.queue.name}"/>
<property name="targetClient" value="1"/>
<property name="CCSID" value="${mq.ccsid}"/>
<property name="persistence" value="2"/>
</bean> |
It seems that my targetClient must not be "taking" as it is still including that header. In fact, I have tried multiple methods of setting targetClient, but none do the job.
This is MQ v7.
Help greatly appreciated - time is very much of the essence here! Thanks.
Last edited by paulf1 on Mon Jan 14, 2013 3:54 pm; edited 1 time in total |
|
Back to top |
|
 |
paulf1 |
Posted: Mon Jan 14, 2013 3:52 pm Post subject: |
|
|
Newbie
Joined: 14 Jan 2013 Posts: 7
|
I have a bit more information to add.
In my code I set the JMS destination to this string:
GR.GIFT.REGISTRY.LOST.SALES.RESPONSE.Q?persistence=2&targetClient=1&CCSID=0
After the message is sent, looking at the Properties tab of BMC, the jms.Dst property is this:
queue:///GR.GIFT.REGISTRY.LOST.SALES.RESPONSE.Q
It seems that MQ is somehow stripping off the (vital) targetClient parameter, along with the other params. |
|
Back to top |
|
 |
paulf1 |
Posted: Mon Jan 14, 2013 5:02 pm Post subject: |
|
|
Newbie
Joined: 14 Jan 2013 Posts: 7
|
FYI, it was solved. Was a Spring issue (use of Spring, not Spring itself!) |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|