Page 1 of 1

Passing Erroneous msgs from Src Queue to Error Queue- How?

Posted: Tue Apr 29, 2008 9:11 am
by basav_ds
Hi,

I have a job to read xml messages from Queue(Msg Read Mode: Delete(Under Transaction)) and write it to a Tgt table.
It has a MQ Connector stage which reads the messages and gives it to XML i/p stage for interpreting. XML i/p stage interprets(based on the XML table definition loaded) and breaks the XML into individual elements and inserts them to Tgt DB Table.
But when the i/p XML message structure is different than the XML table definition loaded into the XML i/p stage(i.e the i/p xml message is erroneous), the XML i/p stage can't interprete the i/p xml message and hence can't break down it into it's individual elements. So it just ignores that message(but still that message is deleted from the Source Queue inspite of it not being written to Tgt table).

My requirement is to send the Erroneous messages from Source Queue to another Queue(Let's call it Error Queue).

I tried using 'Error Queue' option in MQ Connector stage properties, but didn't succeed.
I even tried by creating a reject link out of XML i/p stage,but no rows are rejected.

I would greatly appreciate your suggestions in this regard.

Posted: Tue Apr 29, 2008 8:33 pm
by eostic
Hmm... Tough call... lots of things going on here. Would have to do some testing...but one thing you might consider trying is sending the "content" of the message "thru" the XMLInput Stage. The XMLInput Stage supports "passthru," which means that any column name on the input link, that is also on the output link, and w/o any XPath in the Description, will simply get "passed thru" 'as is'. At least then you will preserve the content even if the xpath chokes on the different document style.. but of course there are other hurdles here as well....

Ernie