ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » JMSMessageID and MQMD.MessageID mismatch..

Post new topic  Reply to topic
 JMSMessageID and MQMD.MessageID mismatch.. « View previous topic :: View next topic » 
Author Message
bhumulas
PostPosted: Fri Jun 22, 2007 3:28 am    Post subject: JMSMessageID and MQMD.MessageID mismatch.. Reply with quote

Apprentice

Joined: 17 Feb 2006
Posts: 41

Hi,
I have an issue with JMS MessageId.

We have requirement in which I have to copy the JMS Message ID which is coming from WPS system. The same Message ID should be copied to JMS Correlation ID and send it back to WPS system.
The application on WPS is waiting on the CorrelationID for further processing.

Now the problem is JMS Message ID is coming as "ID:12345" . After JMSMQTranform node the message got converted as MQ message and the JMSMessageID is copied to MQMD.MessageID. But when I see the MQMD.MessageID, the charactes "ID" are truncated. The value is showing as "12345" only. So If i send the same MQMD.MessageID to the WPS system.. it is failing in the WPS system (The correlatinsID is coming as "12345" instead of "ID:12345") because of mismatch of CorrelationID.

Can any one suggest how to fix this?
Please let me know do I need concat "ID" characters or anyother possible solutions

My Broker ans WPS is on Solaris.

Regards,
Subhash
Back to top
View user's profile Send private message
AkankshA
PostPosted: Fri Jun 22, 2007 3:55 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

i also faced this problem...
you need to do some change at receiving end.... or else hard code ID: in the begining which is a very dirty solution i know
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
elvis_gn
PostPosted: Fri Jun 22, 2007 4:25 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi bhumulas,

You are receiving a JMS message, converting to MQ and not replying back as JMS ? Isn't the string(JMS Id's) and bytes(MQ Id's) creating an issue if the above is true ?

Regards.
Back to top
View user's profile Send private message Send e-mail
bhumulas
PostPosted: Fri Jun 22, 2007 4:34 am    Post subject: Reply with quote

Apprentice

Joined: 17 Feb 2006
Posts: 41

elvis_gn wrote:
Hi bhumulas,

You are receiving a JMS message, converting to MQ and not replying back as JMS ? Isn't the string(JMS Id's) and bytes(MQ Id's) creating an issue if the above is true ?

Regards.



I am again converting message as JMS message using MQJMSTranform node and sending it to WPS system.

Regards,
Subhash
Back to top
View user's profile Send private message
AkankshA
PostPosted: Fri Jun 22, 2007 4:38 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

Then your MQ JMS transform node should have taken care of that.. atleast it is in my env

which version of Mb u running??
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
jefflowrey
PostPosted: Fri Jun 22, 2007 4:42 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The JMS* nodes only exist in v6.

It's worth checking the APAR list for fixes in this area if you're running anything less than FP3.

Otherwise, what are you doing with the Msg/CorrelID between the JMSTransform nodes?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bhumulas
PostPosted: Fri Jun 22, 2007 4:50 am    Post subject: Reply with quote

Apprentice

Joined: 17 Feb 2006
Posts: 41

Hi Akanksha,
The scenario is like

JMSInputQ---->JMSMQTranform ---->Compute---> OutputQ(QL) (This is one flow)

In the above flow before JMSMQTranformNode I can see the JMSMessageID as "ID:12345" after JMSMQTranform node JMSMessageID is coped into MQMD.MessageID and the value coming as "ID:12345"...

In my flow I am copying the MQMD.MessageID to

SET OutputRoot.MQRFH2.usr.ParentBusTID = InputRoot.MQMD.MsgId;

Now my second flow looks like
MQInputQ(QL)--->compute--->MQJMSTranform--->JMSOutput

In this flow I am copying the
SET OutputRoot.JMSTransport.Transport_Folders.Header_Values.JMSCorrelationID = InputRoot.MQRFH2.usr.ParentBusTID;

Here also I can see the InputRoot.MQRFH2.usr.ParentBusTID value as "12345"


After MQJMSTransform the same value is carry forwarded to WPS.




mqsiservice -v
BIPv600 en US POSIX
ucnv Console CCSID 1208 dft ucnv CCSID 1208
ICUW US-ASCII ICUA US-ASCII

BIP8996I: Version: 6002
BIP8997I: Product: WebSphere Message Brokers
BIP8998I: CMVC Level: S600-CSD02 DH600-CSD02
BIP8999I: Build Type: Production



Regards,
Subhash
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Jun 22, 2007 4:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Try setting OutputRoot.Properties.CorrelID = InputRoot.MQRFH2.usr.ParentBusTID.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jbanoop
PostPosted: Fri Jun 22, 2007 7:13 am    Post subject: Reply with quote

Chevalier

Joined: 17 Sep 2005
Posts: 401
Location: SC

A workaround would be:

Get the message id after the JMSInput node (when it is showing properly, if it is showing properly), store it somewhere(like in the environment ) and after that do the transformation.
Once the transform has been completed, reassign the value you stored to the corel id.

It may also be the case that an incoming message id > max allowable size of MQMD.MsgId, is causing the MsgId to get truncated.
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Fri Jun 22, 2007 7:21 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Two flows - Environment can't be used. That's why Akansha is using the RFh2 usr folder.

I wouldn't expect that a truncation would occur at the "left" of the id, if it was too long.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jbanoop
PostPosted: Fri Jun 22, 2007 8:03 am    Post subject: Reply with quote

Chevalier

Joined: 17 Sep 2005
Posts: 401
Location: SC

OK. I missed that.
and yes ..left truncation does not sound all to logical.

Maybe like Jeff said, setting the corel id field in MQMD and then asking MQJMS transform to transform the message might do the trick.


What does a trace of the incoming message (after the MQInput node) in the second flow show about the usr field ParentBusTID ?

maybe you should stop the secod flow, read the message that comes in using RFHUTIL and have a look at the ParentBusTID field to see if the "ID:" part is coming at all.
Back to top
View user's profile Send private message Yahoo Messenger
bhumulas
PostPosted: Wed Jul 04, 2007 5:02 am    Post subject: Reply with quote

Apprentice

Joined: 17 Feb 2006
Posts: 41

Hi All,
Thanks for all your responses and suggestions.

Finally we have decided to concat the "ID" characters. It is working fine now. We raised a PMR, IBM also suggested the same thing.

But they also agreed on this point.
When JMSMessageId is coming as "ID:XYZ"... they are truncating "ID" and sending it as "XYZ", after JMSMQ Transform node. The same way they have to concat "ID" to the XYZ in MQJMSTransform node, because in my case "ID" characters are mandatory.

Now I am wondering how request/response kind applications will work if some one depends on JMSMessageID and CorrelatioID.

Regards
Subhash
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Jul 04, 2007 7:32 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

bhumulas wrote:
Hi All,
Thanks for all your responses and suggestions.

Finally we have decided to concat the "ID" characters. It is working fine now. We raised a PMR, IBM also suggested the same thing.

But they also agreed on this point.
When JMSMessageId is coming as "ID:XYZ"... they are truncating "ID" and sending it as "XYZ", after JMSMQ Transform node. The same way they have to concat "ID" to the XYZ in MQJMSTransform node, because in my case "ID" characters are mandatory.

Now I am wondering how request/response kind applications will work if some one depends on JMSMessageID and CorrelatioID.

Regards
Subhash


That's an easy one to answer and it is all documented in the Using Java manual. Here it is from memory...

The MessageID is a 24byte array that is represented in hex(48 chars) and prefixed by 'ID:' as this is the provider form of identification.

The correlation Id can be more than 24 bytes but if there is no RFH header present it will be truncated to 24 bytes. If it is not present on the RFH header it will display the correlId from the MQMD header (same rules as for messageid display). The set method will take a string (including provider form where set.JMSCorrelId(get.JMSMessageId());. You can also use the alternate method to pass a bytearray...

Performance consideration: always use the provider native form: (ID:xxxx) as this will guarantee the fastest resolution and processing.

My personal advice: Use the anonymous identifier pattern and NEVER try to pass any meaning in those fields.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » JMSMessageID and MQMD.MessageID mismatch..
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.