Author |
Message
|
wbi_telecom |
Posted: Wed May 05, 2010 11:46 am Post subject: XMLNSC validation issue |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
Environement :- Broker 6.1 on Z linux
We are using XMLNSC domain in FileInput node to parse an incoming message. We created a message set with the XML schema and deployed it along with the flow. The first compute node after the fileInput node has the following code
DECLARE rowCachedInputXML ROW;
CREATE FIRSTCHILD OF rowCachedInputXML DOMAIN ('XMLNSC') NAME 'XMLNSC';
SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
The message is failing at the last line of the code i.e
SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
and the error is 'Validation is enabled but no message set has been specified'
The message set is specified at the FileInput node so I am confused why it would need the message set name after the parsing is over and when I am just copying the inputroot to the row variable.
The copying to the row variable is done so that I can delete parts of input message after they are processed. Its based on the example I found in IBM samples which is about handling large messages.
This code works great when the message set is not in the picture. We wanted to enable validation so decided to put the message set in the Fileinput node.
Cheers, |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 06, 2010 1:44 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
I am confused why it would need the message set name after the parsing is over |
How do you know that parsing is over? What is the value of the 'Parse Timing' property on the FileInput node?
I suspect that you have forgotten to specify XMLNSC as the target domain ( or 'Other support domain' ) of the message set. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Thu May 06, 2010 4:04 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
I have the XMLNSC checkbox checked in the message set. The properties set for validation are 'Complete' validation and for 'Content and Value'.
When this was not working I set the message domain to BLOB in the fileInput and then used Create Parse in the compute as follows
CREATE LASTCHILD OF rowCachedInputXML DOMAIN('XMLNSC') PARSE(InputRoot.BLOB.BLOB SET 'GJ8QLLS002001');
This is not giving me that error but how do I give the validation properties like Complete and Content and Value in here? Also I wanted to avoid this code change and enable and disable the validaiton using the node poperties which I can promote and flip the switch at the bar file level.
Cheers, |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 06, 2010 4:41 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Please can post the *full* text of the error message that you received. Thanks. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Thu May 06, 2010 10:17 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
The full message text is
BIP5027:Validation is enabled but no message set has been specified
I found a workaround which is quick and dirty. I set the parse timing option in the FileInput to 'Immediate' and it validates the message. But copying the InputRoot.XMLNSC to the row variable still fails with the same error.So I convert the message to BLOB after the FileIput parsing and then use the create.. parse in which I provide the message set name and it works.
I would like to avoid the extra step of converting the message to BLOB and back to XMLNSC just so that I use the message set to supress this error.
Cheers, |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 06, 2010 12:48 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
The full message text is
BIP5027:Validation is enabled but no message set has been specified |
That is nowhere near the full text of the error. Do you know how to get the full text? If not, then you have a serious problem - you are trying to diagnose a problem with only a fraction of the information. When you read the entire message, I suspect that the answer to your problem will become clear.
Quote: |
I found a workaround which is quick and dirty. |
Reading the error messages emitted by the product would be quicker and cleaner. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Fri May 07, 2010 8:35 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
Here is the exceptionlist
Code: |
ExceptionList
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbDataFlowNode.cpp
Line:INTEGER:957
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbComputeNode.cpp
Line:INTEGER:464
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Insert
Type:INTEGER:5
Text:CHARACTER:9.2
Insert
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
ParserException
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbDataFlowNode.cpp
Line:INTEGER:957
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbComputeNode.cpp
Line:INTEGER:464
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Insert
Type:INTEGER:5
Text:CHARACTER:9.2
Insert
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
ParserException
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbDataFlowNode.cpp
Line:INTEGER:957
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbComputeNode.cpp
Line:INTEGER:464
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Insert
Type:INTEGER:5
Text:CHARACTER:9.2
Insert
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
ParserException
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbComputeNode.cpp
Line:INTEGER:464
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Insert
Type:INTEGER:5
Text:CHARACTER:9.2
Insert
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
ParserException
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
File:CHARACTER:/build/S610_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_2
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.BREAK_XML
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Type:INTEGER:5
Text:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER_Break_XML.Main
Insert
Type:INTEGER:5
Text:CHARACTER:9.2
Type:INTEGER:5
Text:CHARACTER:9.2
Insert
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
Type:INTEGER:5
Text:CHARACTER:SET rowCachedInputXML.XMLNSC = InputRoot.XMLNSC;
ParserException
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
File:CHARACTER:/build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp
Line:INTEGER:755
Function:CHARACTER:ImbXMLNSCParser::getCachedIRForMessageSet
Type:CHARACTER:ComIbmFileInputNode
Name:CHARACTER:fd/cod/xmlBreaker/FLS_COD_XML_BREAKER#FCMComposite_1_1
Label:CHARACTER:fd.cod.xmlBreaker.FLS_COD_XML_BREAKER.FileInput
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:5027
Text:CHARACTER:Validation is enabled but no message set has been specified
|
|
|
Back to top |
|
 |
kimbert |
Posted: Fri May 07, 2010 12:10 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
That's the ExceptionList. It contains the message parameters, but not the full text of the error message.
Try this:
- if you are on Windows, look in the Event Viewer. If you don't know where to find it, Google will tell you.
- If you are on Unix, take a user trace. User trace always contains the entire error message with all of the parameters filled in.
- if you cannot take a user trace for some reason, look up the error text for BIP5027 here: http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=/com.ibm.etools.mft.bipmsgs.doc/ay_bip5.htm.
You might find BIP5028 interesting as well ( if you had managed to enable validation in your CREATE statement, you would have received BIP5028 because there was a mistake in your ESQL ) |
|
Back to top |
|
 |
|