Author |
Message
|
pratuluv |
Posted: Tue Oct 15, 2013 12:43 am Post subject: Message Set Validation using RCD |
|
|
Acolyte
Joined: 25 May 2011 Posts: 53
|
Hi All,
My design is MQInput -> Compute -> RCD -> Compute1 -> MQOutput
The Input message parsing in MQInput is BLOB.
In the RCD node, I have used the CWF message set details.
And the CWF to XML transformation is done in Compute1 node.
When I am trying to test negative scenario by giving a File of invalid length, though I can see the "CHARACTER:ImbRecoverableException caught from worker->parseNext" in debug mode, the exception is not thrown and the message is being processed and moved to the next consecutive nodes.
I set the validation to "Content and Value", still no error thrown. Please help. |
|
Back to top |
|
 |
pratuluv |
Posted: Tue Oct 15, 2013 1:05 am Post subject: |
|
|
Acolyte
Joined: 25 May 2011 Posts: 53
|
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Oct 15, 2013 1:23 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
I think you might be wrong about the RCD node.
When you are testing message parsing the recommended method is NOT to use the debugger. Use usertrace and trace nodes.
Why don't you try the usertrace and then come back here if the RCD node does not throw an exception. _________________ 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 |
|
 |
kimbert |
Posted: Tue Oct 15, 2013 1:29 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Any reason why you cannot use the Validate node? _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
dogorsy |
Posted: Tue Oct 15, 2013 1:29 am Post subject: Re: Message Set Validation using RCD |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
pratuluv wrote: |
Hi All,
My design is MQInput -> Compute -> RCD -> Compute1 -> MQOutput
The Input message parsing in MQInput is BLOB.
In the RCD node, I have used the CWF message set details.
And the CWF to XML transformation is done in Compute1 node.
When I am trying to test negative scenario by giving a File of invalid length, though I can see the "CHARACTER:ImbRecoverableException caught from worker->parseNext" in debug mode, the exception is not thrown and the message is being processed and moved to the next consecutive nodes.
I set the validation to "Content and Value", still no error thrown. Please help. |
You don't need RCD and you don't need Compute1 |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Oct 15, 2013 2:01 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
And you shouldn't be using MRM-XML to model XML. |
|
Back to top |
|
 |
pratuluv |
Posted: Tue Oct 15, 2013 2:43 am Post subject: |
|
|
Acolyte
Joined: 25 May 2011 Posts: 53
|
Hi All,
Thanks for all your replies. There are project specific configurations for which I have the specified design in place.
My question is the RCD node does not validate the incoming message against the message set. If the incoming message should be of length 100 and if I send a message with length 95, the RCD node does not throw any error. It is the same behavior even if I set the validation to "Content and Value".
For my incoming message to be validated against the message set, I had to use ASBITSTREAM in my subsequent node. If anybody has any other resolution or configuration settings that could be done at the RCD node level then please suggest.
Thanks. |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Oct 15, 2013 2:54 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
pratuluv wrote: |
My question is the RCD node does not validate the incoming message against the message set. If the incoming message should be of length 100 and if I send a message with length 95, the RCD node does not throw any error. It is the same behavior even if I set the validation to "Content and Value".
|
Did you ever stop to think that the message set might have been constructed so that this is the correct behaviour?
In some cases you need to be able to handle variable length input. Are there any fields withing the message set that have specific enumeration values? If there are then changing these to be 'invalid' would be a good way to check the behaviour of the RCD node or as has been suggested the Validate node.
Remember that not all existing designs are perfect. Perhaps the specification/requirement you are working to is wrong? Have you considered that it might have been written by someone who clearly didn't know what the correct or best practice solution was?
Was this written a long time ago (for example for V2.1?)? Then you might very well have used MRM to model XML data structures but we don't do that any more.
Perhaps it is time that:-
1) The specification was revised
2) The message flow was re-written to follow current broker best practices
Food for thought perhaps? _________________ 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 |
|
 |
fjb_saper |
Posted: Tue Oct 15, 2013 4:01 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you also thought that may be it was due to timing? With "on Demand" parsing there is no penalty if you do not need to parse the full message.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
dogorsy |
Posted: Tue Oct 15, 2013 6:07 am Post subject: |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
pratuluv wrote: |
There are project specific configurations for which I have the specified design in place.
|
That does not mean the design is correct. As I said, I do not need an RCD and a second compute, regrardeless of the "project specific configurations", whatever you mean by that. so maybe you need to review your design. |
|
Back to top |
|
 |
|