|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Named Properties with the Message data |
« View previous topic :: View next topic » |
Author |
Message
|
Api123 |
Posted: Fri Aug 06, 2010 10:39 am Post subject: Named Properties with the Message data |
|
|
Apprentice
Joined: 26 May 2010 Posts: 31
|
Hi All,
I’ve been straggling with this for couple of days, I hope some one will shed some light on this. We have Java client connecting to our MQ server 7.x over a VPN. (All Windows platform). When their code issue a put message all goes as expected. When receiving messages, they get MQJE001: Completion Code '2', Reason '2195' (written by the get() method). Then they receive the message in full with the
The following (RFH <mqps><Top>TOPIC.BR.PCSQ01.0001</Top></mqps>) , which is part of the message ‘Named Properties’. I run the same code over a LAN with no issues. So I suspected communication issues and indeed it was there in the log: An error occurred receiving data from 10 (10.68.24.150) over TCP/IP. This may be due to a communications failure.
We will look into the network. But how is the communications failure causes a message property to be part of the message Payload?
Here is the get method:
private String receiveMessage()
{
MQQueue aQueue;
String aMessage = null;
MQMessage aTextMessage = new MQMessage();
aTextMessage.format = MQC.MQFMT_STRING;
aTextMessage.characterSet = 1208;
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = MQC.MQGMO_WAIT;
gmo.waitInterval = timeout;
try
{
aQueue = (MQQueue)getMqConnection().accessQueue(receivingqueue, MQC.MQOO_INPUT_AS_Q_DEF);
aQueue.get(aTextMessage, gmo);
aMessage = aTextMessage.readStringOfCharLength(aTextMessage.getMessageLength());
aQueue.close();
if (aMessage == null)
{
// Timeout and no message received.
System.out.println("Timeout out while waiting for response");
}
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
catch (MQException e)
{
e.printStackTrace();
}
return aMessage;
} |
|
Back to top |
|
 |
Vitor |
Posted: Fri Aug 06, 2010 12:42 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
If you're asking "why is something starting RFH contain a property part of the message payload" then it's always part of the payload. WMQ considers that messages have 2 parts - the MQMD & everything else.
This is hidden by the JMS libraries, who correctly disassemble the message into the structure JMS expects. But if you read a message with a non-JMS app that's been put with a JMS app that doesn't have TARGCLIENT set, you'll get the RFH in with the message.
What this has to do with comms errors is apparently nothing. The 2195 will have a matching FDC file, the header of which should be investigated in the usual way. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Api123 |
Posted: Fri Aug 06, 2010 12:55 pm Post subject: |
|
|
Apprentice
Joined: 26 May 2010 Posts: 31
|
Thanks Victor, This would make lots of sense. Since originally the developer was developing with JMS. Excellent |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 06, 2010 8:11 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
As you are at V7 (presumably the client is at V7 too) and wanted the new properties format, make sure the sender's connection factory characteristics are set correctly to request the new properties format. (Check compatibility settings = no)  _________________ MQ & Broker admin |
|
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
|
|
|
|