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 » MQ Message failing at input node

Post new topic  Reply to topic Goto page 1, 2  Next
 MQ Message failing at input node « View previous topic :: View next topic » 
Author Message
wmqiadmin
PostPosted: Thu Mar 29, 2007 5:43 am    Post subject: MQ Message failing at input node Reply with quote

Disciple

Joined: 19 Jun 2005
Posts: 163
Location: epping UK

Hi All,

I have 2 message flows Main and Error message flows in V6 MB:

1.Main flow:
mq i/p>compute> mq output
\catach Exception Handler flow (sub flow)
2. error hadler flow
mq i/p>compute>mq output

Error handler flow extracts the original message from the exception message and puts on the message back on the main flow i/p node.

This flow works fine with out RFH2 header, if i add RFH2 header to pass aditional information, it fails on the Main message flow i/p node. The message recieved on the i/p node from error message flow is not MRM format but BLOB format.

Am i missing some thing here? As per my understanding we don't need to set any RFH2 setting on mq queue....

Thanks
wmqiadmin
Back to top
View user's profile Send private message
PieterV
PostPosted: Thu Mar 29, 2007 6:12 am    Post subject: Reply with quote

Disciple

Joined: 04 Jan 2006
Posts: 164
Location: Belgium

what is the specific error you receive (eg. in your syslog)
or perhaps set up tracing to see where the broker stumbles upon?
Back to top
View user's profile Send private message
wmqiadmin
PostPosted: Thu Mar 29, 2007 6:14 am    Post subject: Reply with quote

Disciple

Joined: 19 Jun 2005
Posts: 163
Location: epping UK

PieterV wrote:
what is the specific error you receive (eg. in your syslog)
or perhaps set up tracing to see where the broker stumbles upon?


Message fails because of unknown parser error. it takes the message as Blob not as MRM parser and fails at validation.
Back to top
View user's profile Send private message
PieterV
PostPosted: Thu Mar 29, 2007 6:41 am    Post subject: Reply with quote

Disciple

Joined: 04 Jan 2006
Posts: 164
Location: Belgium

just to check, i don't know if this can cause the problem, but do you use a MQRFH2 header, or a RFH2 header?
Back to top
View user's profile Send private message
wmqiadmin
PostPosted: Thu Mar 29, 2007 6:44 am    Post subject: Reply with quote

Disciple

Joined: 19 Jun 2005
Posts: 163
Location: epping UK

MQRFH2 header,

I am setting

SET OutputRoot.MQRFH2 = InputRoot.MQRFH2;
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Mar 29, 2007 11:51 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
Message fails because of unknown parser error

You cannot diagnose this problem without better information. Switch on user trace, submit a message, and look at the resulting output. You should get a much more helpful set of errors.
Back to top
View user's profile Send private message
wmqiadmin
PostPosted: Fri Mar 30, 2007 7:04 am    Post subject: Reply with quote

Disciple

Joined: 19 Jun 2005
Posts: 163
Location: epping UK

I could trace the problem,

Whats happening is when i set the outputRoot.MQRFH2 header is sets the mcd.msd property to 'None', because of this property the message on the other (main flow) fails.

If i try this with RFHUTIL by setting message domain = none, message fails and if i remove that and keep it empty message makes to the out put queue.

Any suggestions how to resolve this through esql??

thanks
wmqiadmin
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Mar 30, 2007 2:04 pm    Post subject: Reply with quote

Grand High Poobah

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

Have you tried setting the OutputRoot.Properties correctly. Some of this will govern what gets serialized into the RFH header...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Sat Mar 31, 2007 7:24 am    Post subject: Slightly Off Topic but nearly relevant Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

One of the most frustrating things about an MQInput nn throughode is that you can't really force it just to read a message it it has an RFH2 Header that normally overrides the settings on the input node.

I have a flow that process several differet message types. Depending upon the data in the MQRFH2 header it routes the message to the appropriate part of the flow for processing.
However, one message type needs to be reformatted with an XSLT in an XML Transform node not just parsed/reformatted with a message set.
The RFH2 Header would normally contain the Message set details. In the case of the type needing the XSLT processing the flow it is not easy.
If the MQInput Node had a "Do Nothing" option it would be much easier to process the data downstream.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Sun Apr 01, 2007 2:20 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The BLOB domain does nothing, as far as I know.

That is, if you send a message to an MQInput node set to BLOB domain, and the message has an MQRFH2, then the MQRFH2 will be ignored for purposes of assigning Properties and parsers.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Apr 01, 2007 3:09 am    Post subject: Reply with quote

Grand High Poobah

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

jefflowrey wrote:
The BLOB domain does nothing, as far as I know.

That is, if you send a message to an MQInput node set to BLOB domain, and the message has an MQRFH2, then the MQRFH2 will be ignored for purposes of assigning Properties and parsers.

You mean to say that the RFH2 settings will not overwrite the BLOB domain and force the parsing as say XMLNS? (mcd=xmlns). Now I'm confused...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Sun Apr 01, 2007 4:17 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

fjb_saper wrote:
You mean to say that the RFH2 settings will not overwrite the BLOB domain and force the parsing as say XMLNS? (mcd=xmlns). Now I'm confused...


Yes, that's what I mean to say. I might be wrong, but that's what I mean to say.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Sun Apr 01, 2007 9:58 am    Post subject: Here is what I see Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

When I send a message with a valid set of data in the RFH2 header that describes the messae set, domain and message type to a flow with an MQInput Node with its domain set to BLOB and follow the node with a trace node.
:- Input message
domain = mrm
set = NIHREC.... ( Message set id)
type = z_buyer

The trace node ($Root) shows the message content as being in the MRM domain.

In this particular example, the message originates from the Websphere SAP Adapter. The XML is pretty obfuscated hence the need for it to be run through an XML Transform node later in the flow after it has routed its path depending upon the value of the set in the RFH2 Header.

So, I think the MQInput Node does what it says on the tin and the contents of the MQRFH2 Header override any settings in the node itself.

Hence, my original post asking for a setting to stop the MQRFH2 override.

Yes, I could make a suggestion for this through the UK MQ Users Group but my experience of this process is not overly enthusiastic. I got one accepted a couple of years ago and so far nowt. Sigh
If any of the IBMer's who peruse this site could tell us how to acheive what I am asking about then I would be very happy and I'll gladly buy them a beer when I'm in Hursley later this month.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Apr 01, 2007 11:08 am    Post subject: Reply with quote

Grand High Poobah

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

So if you want to override the RFH setting there is no magical wand...

What you can do is make sure that the input node does not parse and verify the message (timing issue) and set a content redescriptor node right after it....

This should do the trick.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
wmqiadmin
PostPosted: Wed Apr 04, 2007 12:01 pm    Post subject: Reply with quote

Disciple

Joined: 19 Jun 2005
Posts: 163
Location: epping UK

fjb_saper wrote:
So if you want to override the RFH setting there is no magical wand...

What you can do is make sure that the input node does not parse and verify the message (timing issue) and set a content redescriptor node right after it....

This should do the trick.

Enjoy



Thanks fjb_saper

i am setting these values after RCD node

SET OutputRoot.MQRFH2.mcd.Msd = 'MRM';
SET OutputRoot.MQRFH2.mcd.Set = 'Msg_SET';
SET OutputRoot.MQRFH2.mcd.Fmt = 'Message';
SET OutputRoot.MQRFH2.mcd.Type = 'CWF1';

When i check the message in the next node i get only Msd value, I don't see any other values.

Is there any hidden secret to it???

Thanks
wmqiadmin


Last edited by wmqiadmin on Wed Apr 04, 2007 5:27 pm; edited 1 time in total
Back to top
View user's profile Send private message
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 » MQ Message failing at input node
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.