Author |
Message
|
visasimbu |
Posted: Mon Nov 17, 2014 3:54 pm Post subject: Deployable WSDL issue in SOAP input node |
|
|
 Disciple
Joined: 06 Nov 2009 Posts: 171
|
Hi all,
I have a message flow like SOAP Input Node -> Trace -> compute -> soap reply.
SOAP Input node is configured with deployable WSDL file from the messge set.
I have created messageSet using mqsicreatemsgdefsfromwsdl command.
When I hit the message flow with soap message, I can see "problem creating SOAP tree from bitstream" in the input soap structure after soap input node in the debug mode. i am getting an error saying "cvc-complex-type.2.4.e: Unexpected element. Element "getEndpointDetails" is not one of the choices."
Could you please help me with the issue.
Trace node content with ${Root}
Code: |
( ['SOAPRoot' : 0xfebfd8]
(0x01000000:Name ):Properties = ( ['SOAPPROPERTYPARSER' : 0x1000eb8]
(0x03000000:NameValue):MessageSet = 'newProject3' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2014-11-17 23:36:30.784' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-AXIS2' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = 'text/xml;charset=UTF-8' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):HTTPInputHeader = ( ['WSINPHDR' : 0xfebd70]
(0x03000000:NameValue):X-Original-HTTP-Command = 'POST http://localhost:7800/esb/services/wsrrlookup HTTP/1.1' (CHARACTER)
(0x03000000:NameValue):Accept-Encoding = 'gzip,deflate' (CHARACTER)
(0x03000000:NameValue):Content-Type = 'text/xml;charset=UTF-8' (CHARACTER)
(0x03000000:NameValue):SOAPAction = '""' (CHARACTER)
(0x03000000:NameValue):Content-Length = '1382' (CHARACTER)
(0x03000000:NameValue):Host = 'localhost:7800' (CHARACTER)
(0x03000000:NameValue):Connection = 'Keep-Alive' (CHARACTER)
(0x03000000:NameValue):User-Agent = 'Apache-HttpClient/4.1.1 (java 1.5)' (CHARACTER)
(0x03000000:NameValue):X-Remote-Addr = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Remote-Host = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Server-Name = 'localhost' (CHARACTER)
(0x03000000:NameValue):X-Server-Port = '7800' (CHARACTER)
(0x03000000:NameValue):X-Query-String = '' (CHARACTER)
(0x03000000:NameValue):X-Scheme = 'http' (CHARACTER)
)
(0x01000000:Folder):SOAP =
|
Exception list
Code: |
<exceptionlist>
<RecoverableException>
<File>F:\build\S700_P\src\DataFlowEngine\ImbTraceNode.cpp</File>
<Line>341</Line>
<Function>ImbTraceNode::evaluate</Function>
<Type>ComIbmTraceNode</Type>
<Name>com/esb/util/esbWSRRLookup#FCMComposite_1_3</Name>
<Label>com.esb.util.esbWSRRLookup.Trace</Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>2230</Number>
<Text>Caught exception and rethrowing</Text>
<ParserException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
<Line>2061</Line>
<Function>ImbSOAPParser::createSoapShapedTree</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3614</Number>
<Text>problem creating SOAP tree from bitstream</Text>
<ParserException>
<File>F:\build\S700_P\src\MTI\MTIforBroker\GenXmlParser4\ImbXMLNSCParser.cpp</File>
<Line>954</Line>
<Function>ImbXMLNSCParser::parseRightSibling</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>5009</Number>
<Text>XML Parsing Errors have occurred</Text>
<ParserException>
<File>F:\build\S700_P\src\MTI\MTIforBroker\GenXmlParser4\ImbXMLNSCDocHandler.cpp</File>
<Line>634</Line>
<Function>ImbXMLNSCDocHandler::handleParseErrors</Function>
<Type>ComIbmSOAPInputNode</Type>
<Name>com/esb/util/esbWSRRLookup#FCMComposite_1_1</Name>
<Label>com.esb.util.esbWSRRLookup.SOAP Input</Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>5025</Number>
<Text>A schema validation error has occurred while parsing the XML document</Text>
<Insert>
<Type>2</Type>
<Text>5008</Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>2</Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>24</Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>27</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>cvc-complex-type.2.4.e: Unexpected element. Element "getEndpointDetails" is not one of the choices.</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>/XMLNSC/http://schemas.xmlsoap.org/soap/envelope/:Envelope/http://schemas.xmlsoap.org/soap/envelope/:Body</Text>
</Insert>
</ParserException>
</ParserException>
</ParserException>
</RecoverableException>
</exceptionlist>
|
I have tried some options like changing the validation from "Content and value" to "none". Since i dont want to validate the content of the message.
It leads me to other exception saying "no operation found matching payload"
Exception list for validation "none" in the soap input node and trace file remains same as above.
Code: |
<exceptionlist>
<name>
<RecoverableException>
<File>F:\build\S700_P\src\DataFlowEngine\ImbTraceNode.cpp</File>
<Line>341</Line>
<Function>ImbTraceNode::evaluate</Function>
<Type>ComIbmTraceNode</Type>
<Name>com/esb/util/esbWSRRLookup#FCMComposite_1_3</Name>
<Label>com.esb.util.esbWSRRLookup.Trace</Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>2230</Number>
<Text>Caught exception and rethrowing</Text>
<ParserException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
<Line>2061</Line>
<Function>ImbSOAPParser::createSoapShapedTree</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3614</Number>
<Text>problem creating SOAP tree from bitstream</Text>
<ParserException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
<Line>1784</Line>
<Function>ImbSOAPParser::createSoapShapedTree</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3602</Number>
<Text>no operation found matching payload</Text>
<Insert>
<Type>5</Type>
<Text>{}getEndpointDetails</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>WSRRLookupBinding</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>C:\Documents and Settings\All Users\Application Data\IBM\MQSI\components\MB7BRK\ecf5e5bf-4901-0000-0080-81875cfe73a2\config\XSD\newProject3/com/abc/www/services/wsrrlookupwsdlfile/WSRRLookupService.wsdl</Text>
</Insert>
</ParserException>
</ParserException>
</RecoverableException>
</name>
</exceptionlist>
|
Last edited by visasimbu on Mon Nov 17, 2014 7:06 pm; edited 2 times in total |
|
Back to top |
|
 |
shashivarungupta |
Posted: Mon Nov 17, 2014 6:02 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Code: |
<Text>XML Parsing Errors have occurred</Text> |
I can see this in your given details.
Are you sure that your input message is valid and well structured as per the schema model?
You can validate you request/inbound message using SOAPUI Tool (if you're using it). There could be other tools as well for validation of request message, that you might wanted to use to test the validity of the input message structure.
As per IBM Manual " The DFDL, XMLNSC, and SOAP domains validate predefined messages directly against message model schema files. "
Also
"By default, parsers perform some validity checking on a message, but only to ensure the integrity of the parsing operation. However, you can validate a message more stringently against the message model contained in the message set by specifying validation options on certain nodes in your message flow.
"
Also may check about Parse Timing property of the SOAPInput Node, for better understanding of Parsing and Validation.
Incase you don't want to validate the input message, try using SOAPInput in Gateway Mode Or use HTTPInput node.
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
visasimbu |
Posted: Mon Nov 17, 2014 6:42 pm Post subject: Re: Deployable WSDL issue in SOAP input node |
|
|
 Disciple
Joined: 06 Nov 2009 Posts: 171
|
My input xml is well formed. |
|
Back to top |
|
 |
visasimbu |
Posted: Mon Nov 17, 2014 7:02 pm Post subject: |
|
|
 Disciple
Joined: 06 Nov 2009 Posts: 171
|
shashivarungupta wrote: |
Code: |
<Text>XML Parsing Errors have occurred</Text> |
Are you sure that your input message is valid and well structured as per the schema model?
You can validate you request/inbound message using SOAPUI Tool (if you're using it).
|
Hi Shashivarungupta,
Thanks for your point. I have created the input message from wsdl and just corrected my input message with proper namespace.
Now i have ended up with same error for validation turned on (content and value) in soap input node. The error is saying "no operation found matching payload" when it goes to the SOAP reply node.
Code: |
<exceptionlist>
<name>
<RecoverableException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPReplyNode.cpp</File>
<Line>386</Line>
<Function>ImbSOAPReplyNode::evaluate</Function>
<Type>ComIbmSOAPReplyNode</Type>
<Name>com/esb/util/esbWSRRLookup#FCMComposite_1_6</Name>
<Label>com.esb.util.esbWSRRLookup.SOAP Reply</Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3752</Number>
<Text>Error occurred in ImbSOAPReplyHelper::makeSOAPReply()</Text>
<ParserException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
<Line>1291</Line>
<Function>ImbSOAPParser::refreshBitStreamFromElementsInner</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3605</Number>
<Text>SOAP tree cannot be serialized</Text>
<ParserException>
<File>F:\build\S700_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
<Line>711</Line>
<Function>ImbSOAPParser::refreshBitStreamFromElementsInner</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPmsgs</Catalog>
<Severity>3</Severity>
<Number>3602</Number>
<Text>no operation found matching payload</Text>
<Insert>
<Type>5</Type>
<Text>{http://services.cna.com/framework/services/WSRRLookup}getEndpointDetails</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>WSRRLookupBinding</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>C:\Documents and Settings\All Users\Application Data\IBM\MQSI\components\MB7BRK\ecf5e5bf-4901-0000-0080-81875cfe73a2\config\XSD\newProject3/com/abc/www/services/wsrrlookupwsdlfile/WSRRLookupService.wsdl</Text>
</Insert>
</ParserException>
</ParserException>
</RecoverableException>
</name>
</exceptionlist>
|
|
|
Back to top |
|
 |
shashivarungupta |
Posted: Mon Nov 17, 2014 7:15 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Quote: |
"no operation found matching payload" |
As you've mentioned above...
Do you find operation has action blank in your wsdl ? If yes then it should be either be corrected in wsdl OR be dealt at ESQL/Broker Level.
Quote: |
Generally while creating a wsdl.. the format looks like this..
<wsdl:operation name="XYZ">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="XYZ">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="XYZresp">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="XYZException">
<soap:fault name="XYZException" use="literal"/>
</wsdl:fault>
</wsdl:operation> |
Another thing...
Also, you need to make sure that you're using correct Binding Operation (specially when you're using SOAPRequest Node).
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Mon Nov 17, 2014 7:24 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Try introducing "TCP/IP Monitor" and check if that works till some point or it also fails.
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
visasimbu |
Posted: Mon Nov 17, 2014 8:44 pm Post subject: |
|
|
 Disciple
Joined: 06 Nov 2009 Posts: 171
|
Hi shashivarungupta,
Thanks for your valuable inputs. I have reconstructed a SOAP reply message against my WSDL. It worked.
Thanks for your help !  |
|
Back to top |
|
 |
|