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 » MQRFH2 header problem coming in output message body

Post new topic  Reply to topic Goto page 1, 2  Next
 MQRFH2 header problem coming in output message body « View previous topic :: View next topic » 
Author Message
datspats
PostPosted: Thu May 10, 2007 8:06 pm    Post subject: MQRFH2 header problem coming in output message body Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi,

This is regarding MQRFH2 header problem. When the InputRoot.BLOB.BLOB is with some data, when i say OutputRoot.Blob.Blob = InputRoot.BLOB.BLOB then I can see MQRFH2 header properly generated for the output message in the Trace node output log,

But if incoming message is coming as Null i.e. input message body coming with no data then the portion of the MQRFH2 header is moved to Output message body. And the MQRFH2 header in the output message portion is truncated to shows last few bytes of original MQRFH2 header.

Please put on light on this, how can i get proper MQRFH2 header even if Input message body is null.

regards
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Fri May 11, 2007 1:35 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

assign null to the VALUE of OutputRoot.BLOB.BLOB.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
datspats
PostPosted: Fri May 11, 2007 3:16 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi Jeff,
Thanks for reply

I will try this .......
But my requirement is that when before finally putting message to the output node, I have to Prefix and suffix the header, footer (which are the constant string) to the Output body which I receive.
But if we assign Null message body then appending header/ footer final op is all NULL.

Regards
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Fri May 11, 2007 3:45 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

So use COALESCE instead.

Somewhere, presumably, you do something like
set OutputRoot.BLOB.BLOB = headerString || InputRoot.BLOB.BLOB || footerString;

Use
set OutputRoot.BLOB.BLOB = headerString || COALESCE(InputRoot.BLOB.BLOB, someDefaultValue) || footerString
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
datspats
PostPosted: Mon May 14, 2007 4:33 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi jeff,

I tried
Quote:
set OutputRoot.BLOB.BLOB = headerString || COALESCE(InputRoot.BLOB.BLOB, someDefaultValue) || footerString

in my code. But the problem is I am getting starting section of the MQRFH2 header in the InputRoot.BLOB.BLOB of the message when I am expecting it to be NULL in this case.

I am getting following in the Inputroot.BLOB.BLOB as per TRACE node, (bytes converted to char)
RFH ........ "....... ............<usr><filename>FxEx.txt</filename><transmissionDateTime>TIMESTAMP &apos;2007-05-14 12:20:48&apos;</transmissionDateTime><uniqueId>Mn_FX</uniqueId><applicationArea><enrich>N</enrich><mn>Y</mn>
<pattern>MFM_HP</pattern><wmb><rename>Y</rename></wmb></applicationArea></usr> ...<mcd>
<Msd>mrm</Msd><Set>MS_IDX_2007</Set><Type>XMESSAGE</Type><Fmt>TDS</Fmt></mcd>


Whereas when I don't expect NULL in InputRoot.BLOB.BLOB, I get the right MQRFH2 header in the message. BLOB properly constructed with Header || expected_data || footer.

Regards,
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Mon May 14, 2007 11:19 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Um. Hrm. InputRoot.BLOB.BLOB should not be pointing to InputRoot.MQRFH2 - unless the MQMD.Format is not set correctly.

InputBody always points to the last chlid of InputRoot - so it could point to InputRoot.MQRFH2 if the message body is empty.

Does a trace show that the RFH2 header is being parsed properly?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon May 14, 2007 1:25 pm    Post subject: Reply with quote

Grand High Poobah

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

Looks like InputRoot.BLOB.BLOB might not be present on the Tree in this case.

So try to reference InputRoot.BLOB.BLOB and check if the reference's LastMOVE was successful.

This should give you enough granularity to resolve the problem...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
datspats
PostPosted: Mon May 14, 2007 9:34 pm    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi Jeff and fjb,

I have checked the TRACE below are my flow details/ findings.
Pls help on this.

In my message flow …before this compute node I got RCD node for which Message domain set to ‘BLOB’.

Trace after the RCD node shows that the MQRFH2 header is not properly generated and is present in the body. But ironically when the input body has some data before coming to RCD then even after RCD the MQRFH2 is generated very correctly in the message.

How do I go ahead as RCD (BLOB) node is very necessary?
Regards,
Back to top
View user's profile Send private message Yahoo Messenger
datspats
PostPosted: Tue May 15, 2007 4:59 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi,
what might be exactly happening in RCD (BLOB) node as MQRFH2 is coming as paet of message body when it is suppose to be empty?

regards
Back to top
View user's profile Send private message Yahoo Messenger
datspats
PostPosted: Thu May 17, 2007 1:38 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

hi,

InputRoot.BLOB.BLOB is coming as NULL before the compute node.

regards
Datta
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Thu May 17, 2007 6:31 pm    Post subject: Reply with quote

Grand High Poobah

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

fjb_saper wrote:
Looks like InputRoot.BLOB.BLOB might not be present on the Tree in this case.

So try to reference InputRoot.BLOB.BLOB and check if the reference's LastMOVE was successful.

This should give you enough granularity to resolve the problem...

Enjoy

What I suspect is happening is that you are referencing /accessing a part of the message that does not exist and as such you pointer stays on the last accessed item the RHF2 which you now believe is part of the message...

Try and use the reference ...
Code:
define mybody reference to InputRoot.BLOB.BLOB;
IF LASTMOVE(mybody) THEN
  -- you do have a body
   SET OutputRoot.BLOB.BLOB = mybody;
ELSE
  -- there is no body
  SET OutputRoot.BLOB.BLOB = NULL;
END IF;


Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
datspats
PostPosted: Tue May 29, 2007 8:07 pm    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

I think for this post the solution in the http://www.mqseries.net/phpBB2/viewtopic.php?t=12396 post will work. But I need to set ' ' in MRM domain possibly.

Please suggest.

regards
Back to top
View user's profile Send private message Yahoo Messenger
datspats
PostPosted: Wed May 30, 2007 6:26 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi,

For this case as suggested by jeff long back,to use OutputRoot.[LAST], But LAST is deprecated, Please suggest some alternaive way for solving this.

regards
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Wed May 30, 2007 6:27 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

LAST has been replaced with either < or >, I forget. I think it's >
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
datspats
PostPosted: Wed May 30, 2007 7:15 am    Post subject: Reply with quote

Voyager

Joined: 12 Apr 2007
Posts: 80
Location: Mumbai

Hi jeff,

I tried in compute node before RCD node, I think I need to check NULL condition only after the RCD(BLOB) node, But If I have trace node after RCD it shows the InputRoot.BLOB.BLOB is populated with contents of the MQRFH2 header, Does it mean that I can neven check the condition of Input message body for NULL, even the InputRoot has no messagebody before the RCD node.

regards
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » MQRFH2 header problem coming in output message body
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.