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 » The MQRFH2C subtree and a JMS application.

Post new topic  Reply to topic
 The MQRFH2C subtree and a JMS application. « View previous topic :: View next topic » 
Author Message
sorn73
PostPosted: Tue Sep 04, 2007 11:41 pm    Post subject: The MQRFH2C subtree and a JMS application. Reply with quote

Novice

Joined: 24 Mar 2004
Posts: 24
Location: Sweden

Hi, I'm having a problem witht the MQRFH2C parser and creating a message that will be consumed by a JMS application.

I have a WMB 6.0.0.5 with Toolkit 6.0.2-fp9 (latest and greatest). I'm trying to create a very simple message flow that is mapping from one message format to another, while keeping the MQMD and MQRFH2 intact.

I have an MQInput node, a Mapping Node and an MQOutput node. When I debug, after the MQInput node I can see that the message is correctly parsed, and I have a folder called MQRFH2 that contains my RFH2 header. Then the message is passed to a Mapping Node. On the other side of the mapping node, the MQRFH2 folder is now mapped to an MQRFH2C folder. I have specifically NOT checked the "Use MQRFH2C parser for the MQRFH2...", neither on the MQInput node nor on the Mapping Node.

The MQRFH2C folder structure is not a problem of itself, but when the message is written to a queue, the format field of the MQMD is also set to "MQHRF2C ", which my applications don't understand, in this case RFHUtil and a JMS application. RFHUtil presents RFH2 and body as body, and my JMSapplication doesn't recognize it either. I can't set the Format field of the MQMD to "MQHRF2 " in a compute node, the broker helpfully resets it to "MQHRF2C ".

So, what do I do?
1. Can I force the mapping node NOT to create a MQRFH2C structure? How?
or
2. Do I have to change my applications, RFHUtil and my JMS applications, to handle the MQRFH2C header format? Or is there a newer version of WMQ that allows JMS to work with MQRFH2 and MQRFH2C headers transparently?
or
3. Can I "cast" the MQRFH2C header to and MQRFH2 header before passing it on? I tried the simplest approach (ie. CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'MQRFH2' NAME 'MQRFH2'; SET OutputtRoot.MQRFH2 = InputRoot.MQRFH2C;) but that only works while I have the debugger running. When detaching the debugger, an empty MQRFH2 structure is created.
Back to top
View user's profile Send private message
shanson
PostPosted: Fri Sep 21, 2007 12:07 am    Post subject: Reply with quote

Partisan

Joined: 17 Oct 2003
Posts: 344
Location: IBM Hursley

The problem you are encountering is that the Mapping node always chooses MQRFH2C when creating a parser for the output RFH2 header. In the next release of WMB this has been fixed so you choose in the mapping editor which parser you want. Meantime....

I'm not sure why your Compute node ESQL is not working, but I am not an ESQL expert. You could try copying the children of the MQRFH2C across to the MQRFH2 one by one, instead of the top-level copy? And don't forget to detach the MQRFH2C as well.

Another solution to this is to change your MQOutput node to write to a temporary intermediate queue, then create another flow with an MQInput node that reads in the message, leaves the 'Use MQRFH2C...' check box unchecked, then writes straight out with an MQOuput node to your real queue.
Back to top
View user's profile Send private message
shanson
PostPosted: Wed Sep 26, 2007 12:34 am    Post subject: Reply with quote

Partisan

Joined: 17 Oct 2003
Posts: 344
Location: IBM Hursley

I misunderstood the intent of the original append. If the MQRFH2C header is not a problem within the flow, then all you have to do is check (not uncheck) the "Use MQRFH2C compact parser for MQRFH2 domain" check box on the mapping node.

The name of this property is incorrect, the name of the symmetric property on input nodes was re-used. The property should have been called something like "Use 'MQRFH2' as the reported name of the MQRFH2C compact parser".

In the next release this property is being removed, and the MQRFH2C parser will always report its name as 'MQRFH2'.

Sorry for not spotting this earlier.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » The MQRFH2C subtree and a JMS application.
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.