Author |
Message
|
prk |
Posted: Wed Oct 07, 2009 5:26 am Post subject: Schema validation error |
|
|
Centurion
Joined: 17 Feb 2004 Posts: 102
|
We have MQ 6.0.2.2 and Message Broker 6.0.9 on a HP-UX Risc server. We use a Java compute custom node where we validate our incoming messages against a schema on a remote location within the Java compute node. This logic works in Dev and QA but is not working in Production.
We had this working for a month and we had to migrate the same components again and now its not working. The same deployed components work in Dev and QA and we are clueless now.
The last line in the trace below shows the error. Any help is greatly appreciated.
<INITIAL_EXCEPTION_TRACE>^M
( ['MQROOT' : 0x1107774032]
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbComputeNode.cpp' (CHARACTER)
(0x03000000):Line = 464 (INTEGER)
(0x03000000):Function = 'ImbComputeNode::evaluate' (CHARACTER)
(0x03000000):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000):Name = 'VRS_TE_MF#FCMComposite_1_2' (CHARACTER)
(0x03000000):Label = 'VRS_TE_MF.CaptureError' (CHARACTER)
(0x03000000):Catalog = 'BIPv600' (CHARACTER)
(0x03000000):Severity = 3 (INTEGER)
(0x03000000):Number = 2230 (INTEGER)
(0x03000000):Text = 'Caught exception and rethrowing' (CHARACTER)
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp' (CHARACTER)
(0x03000000):Line = 602 (INTEGER)
(0x03000000):Function = 'SqlStatementGroup::execute' (CHARACTER)
(0x03000000):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000):Name = 'VRS_TE_MF#FCMComposite_1_2' (CHARACTER)
(0x03000000):Label = 'VRS_TE_MF.CaptureError' (CHARACTER)
(0x03000000):Catalog = 'BIPv600' (CHARACTER)
(0x03000000):Severity = 3 (INTEGER)
(0x03000000):Number = 2488 (INTEGER)
(0x03000000):Text = 'Error detected, rethrowing' (CHARACTER)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = '.VENDORENROLLMENT_TE_MF_CaptureError.Main' (CHARACTER)
)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = '.VENDORENROLLMENT_TE_MF_CaptureError.Main' (CHARACTER)
)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = '4.4' (CHARACTER)
)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = 'CopyEntireMessage();' (CHARACTER)
)
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlRoutine.cpp' (CHARACTER)
(0x03000000):Line = 548 (INTEGER)
(0x03000000):Function = 'SqlRoutine::invoke' (CHARACTER)
(0x03000000):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000):Name = 'VRS_TE_MF#FCMComposite_1_2' (CHARACTER)
(0x03000000):Label = 'VRS_TE_MF.CaptureError' (CHARACTER)
(0x03000000):Catalog = 'BIPv600' (CHARACTER)
(0x03000000):Severity = 3 (INTEGER)
(0x03000000):Number = 2934 (INTEGER)
(0x03000000):Text = 'Error occured in procedure' (CHARACTER)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = 'CopyEntireMessage' (CHARACTER)
)
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp' (CHARACTER)
(0x03000000):Line = 602 (INTEGER)
(0x03000000):Function = 'SqlStatementGroup::execute' (CHARACTER)
(0x03000000):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000):Name = 'VRS_TE_MF#FCMComposite_1_2' (CHARACTER)
(0x03000000):Label = 'VRS_TE_MF.CaptureError' (CHARACTER)
(0x03000000):Catalog = 'BIPv600' (CHARACTER)
(0x03000000):Severity = 3 (INTEGER)
(0x03000000):Number = 2488 (INTEGER)
(0x03000000):Text = 'Error detected, rethrowing' (CHARACTER)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = '.VENDORENROLLMENT_TE_MF_CaptureError.CopyEntireMessage' (CHARACTER)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = '8.3' (CHARACTER)
)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = 'THROW EXCEPTION VALUES( EXCEPTION_MESSAGE);' (CHARACTER)
)
(0x01000000):UserException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbRdl/ImbRdlThrowExceptionStatements.cpp' (CHARACTER)
(0x03000000):Line = 224 (INTEGER)
(0x03000000):Function = 'SqlThrowExceptionStatement::execute' (CHARACTER)
(0x03000000):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000):Name = 'VRS_TE_MF#FCMComposite_1_2' (CHARACTER)
(0x03000000):Label = 'VRS_TE_MF.CaptureError' (CHARACTER)
(0x03000000):Catalog = 'BIPv600' (CHARACTER)
(0x03000000):Severity = 1 (INTEGER)
(0x03000000):Number = 2951 (INTEGER)
(0x03000000):Text = 'User generated exception' (CHARACTER)
(0x01000000):Insert = (
(0x03000000):Type = 5 (INTEGER)
(0x03000000):Text = 'Schema validation error :: '200910061130_ICON_31443004_250_89.xml' :: cvc-elt.1: Cannot find the declaration of element 'ODM'.' (CHARACTER) )
)
)
)
)
)
)^M
<INITIAL_EXCEPTION_TRACE> |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 07, 2009 7:08 am Post subject: Re: Schema validation error |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
prk wrote: |
We have MQ 6.0.2.2 and Message Broker 6.0.9 on a HP-UX Risc server. We use a Java compute custom node where we validate our incoming messages against a schema on a remote location within the Java compute node. |
One question has to be why not use the inbuilt validation facilities?
prk wrote: |
We had this working for a month and we had to migrate the same components again and now its not working. |
Clearly this is environmental, and there's something in the new environment that the custome node doesn't like. This is one reason to avoid custom nodes.
My experience with custom nodes is limited, and Java custom nodes nil, so I'll defer to others with greater knowledge. I'd check that the environment on the evironment you migrated to is built exactly the way you think it is.
I'd also think about using the inbuilt facilities! _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
harish_td |
Posted: Wed Oct 07, 2009 9:07 am Post subject: |
|
|
Master
Joined: 13 Feb 2006 Posts: 236
|
Are all the schemas referenced by the XSD available for the custom node?
We have schema includes that begin with a $ character and sometimes they do not get included in the primary XSD.
Quote: |
'Schema validation error :: '200910061130_ICON_31443004_250_89.xml' :: cvc-elt.1: Cannot find the declaration of element 'ODM'.' (CHARACTER) ) |
When i googled out cvc-elt.1, i found many links which might be related to your issue.
Just my 0.02$ |
|
Back to top |
|
 |
prk |
Posted: Wed Oct 07, 2009 9:40 am Post subject: |
|
|
Centurion
Joined: 17 Feb 2004 Posts: 102
|
The google results didn't help out much. We wanted to do the inbuilt validation but it was the clients request that we go against this remote site. All the schemas referenced in this XSD are available on the remote site. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 07, 2009 11:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
prk wrote: |
We wanted to do the inbuilt validation but it was the clients request that we go against this remote site. |
Why? What does the client feel they're getting using this method? Why didn't you push back on the client?
prk wrote: |
All the schemas referenced in this XSD are available on the remote site. |
Nobody said they were not, the problem is this custom node you've built. Or possibly access to this remote site. Or something. One of the other problems with custom nodes is you are rather on your own with them.
From a personal standpoint, and not directly connected to your problem, storing the XSD on a separate remote site from the broker is going to cause your clients source code control issues, as they now have to ensure flows & this site remain in step with audit, etc. How are your clients managing that?
Because that error message really does sound a lot like an element not being in the XML that the schema says should be there. Which does make me wonder if this new environment isn't looking at the site and/or schema you think it is. _________________ Honesty is the best policy.
Insanity is the best defence.
Last edited by Vitor on Wed Oct 07, 2009 12:49 pm; edited 1 time in total |
|
Back to top |
|
 |
prk |
Posted: Wed Oct 07, 2009 12:16 pm Post subject: |
|
|
Centurion
Joined: 17 Feb 2004 Posts: 102
|
Yes, by the time we got the clients buying into using the Validation within the Broker the code was already tested and we couldn't go back.
Not sure how to resolve the issue yet but we are still looking into it. |
|
Back to top |
|
 |
|