ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » soap req message parsing problem

Post new topic  Reply to topic Goto page 1, 2  Next
 soap req message parsing problem « View previous topic :: View next topic » 
Author Message
RaviKrG
PostPosted: Tue Mar 17, 2009 9:25 pm    Post subject: soap req message parsing problem Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

Hi I am trying to understand web services in MB through soap nodes.

I have created a flow as SOAPIn Node -> Sub Flow -> SOAPReply Node

Sub Flow: Input Node -> Extarct Node
Label Node -> Output Node

I have set the SAOP Input node properties according to the wsdl file which was generated from the message set.

Mesage set : Web service soap message set
I created two messages input and output. and the body of the soap message contains the above message input and output as local references which further contains the element reference Player.


Now I am trying to put the input message through soapUI tool as
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://tempuri.org/soapreqres">
<soapenv:Header/>
<soapenv:Body>
<soap:Input>
<soap:Player>jsdjsj</soap:Player>
</soap:Input>
</soapenv:Body>
</soapenv:Envelope>


But I get an Error:
BIP2230E: Error detected whilst processing a message in node 'soapreqres.soapreqresService.Extract'.
The message broker detected an error whilst processing a message in node 'soapreqres.soapreqresService.Extract'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error. : /build/S610_P/src/DataFlowEngine/PluginInterface/ImbJniNode.cpp: 1021: ImbJniNode::evaluate: ComIbmJniNode: soapreqres#FCMComposite_1_2.gen/soapreqresService_soapreqres#FCMComposite_1_1
BIP3614E: A SOAP logical tree cannot be built from the message bitstream.
The bitstream is not a valid Web service message.
Review further error messages for an indication to the cause of the error. : /build/S610_P/src/WebServices/WSLibrary/ImbSOAPParser.cpp: 1712: ImbSOAPParser::parseSoapTree: :
BIP5009E: XML Parsing Errors have occurred.
Errors have occurred during parsing of XML.
Review further error messages for an indication to the cause of the errors. : /build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp: 858: ImbXMLNSCParser::parseFirstChild: :
BIP5025E: XML schema validation error ''Unexpected root tag. Element "soapenv:Envelope" is not a global element.'' on line '1' column '120' when parsing element ''/XMLNSC''. Internal error codes: 5032, 2.
This error was reported by the XMLNSC parser. The XML document being parsed is not valid according to the message definitions in the message set.
The XML document has violated the rules expressed in the message definition files in the message set. : /build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCDocHandler.cpp: 527: ImbXMLNSCDocHandler::handleParseErrors: ComIbmSOAPInputNode: soapreqres#FCMComposite_1_1

Can anybody tell is there any thing missing because of which I am getting this error or I need to change anything i feel the message set
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Tue Mar 17, 2009 9:41 pm    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

RaviKrG wrote:
This error was reported by the XMLNSC parser. The XML document being parsed is not valid according to the message definitions in the message set.
The XML document has violated the rules expressed in the message definition files in the message
set. : /build/S610_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCDocHandler.cpp: 527: ImbXMLNSCDocHandler::handleParseErrors: ComIbmSOAPInputNode: soapreqres#FCMComposite_1_1


Check whether the input message you have sent through SOAPUI is valid? Try validating it against the schema...
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Tue Mar 17, 2009 10:05 pm    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

Thanks MQEnthu,

I did validate the soap message in the soapUI tool and found OK.

Still with google to get whats the problem here
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Tue Mar 17, 2009 10:09 pm    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

Can you post the schema file?
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Tue Mar 17, 2009 10:30 pm    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:group name="MIME_header_fields">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="Content-Type">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="boundary" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="start" type="xsd:string"/>
<xsd:attribute name="start-info" type="xsd:string"/>
<xsd:attribute name="charset" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Content-Transfer-Encoding">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="7bit"/>
<xsd:enumeration value="8bit"/>
<xsd:enumeration value="binary"/>
<xsd:enumeration value="quoted-printable"/>
<xsd:enumeration value="base64"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Content-Id" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Content-Description" type="xsd:string"/>
</xsd:sequence>
</xsd:group>

<xsd:complexType name="MIME_Headers_type">
<xsd:sequence>
<xsd:group ref="MIME_header_fields"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Attachment_type">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="MIME_Headers" type="MIME_Headers_type"/>
<xsd:element maxOccurs="1" minOccurs="1" name="Data" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="SOAP_Msg_type">
<xsd:sequence>

<xsd:element maxOccurs="1" minOccurs="0" name="Context">
<xsd:complexType>
<xsd:sequence maxOccurs="1" minOccurs="1">

<xsd:element maxOccurs="1" minOccurs="0" name="SOAP_Version">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1.1"/>
<xsd:enumeration value="1.2"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Namespace">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="_XmlDeclaration">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="Version" type="xsd:string"/>
<xsd:attribute name="Encoding" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="MIME_Headers" type="MIME_Headers_type"/>
</xsd:sequence>

<xsd:attribute name="port" type="xsd:string"/>
<xsd:attribute name="portType" type="xsd:string"/>
<xsd:attribute name="operation" type="xsd:string"/>
<xsd:attribute name="operationType" type="xsd:string"/>
<xsd:attribute name="service" type="xsd:string"/>
<xsd:attribute name="fileName" type="xsd:string"/>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Header">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:choice>
</xsd:choice>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="1" name="Body">
<xsd:complexType>
<xsd:sequence maxOccurs="1">
<xsd:choice>
<xsd:element ref="Input"/>
<xsd:element ref="Output"/>
</xsd:choice>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Attachment">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<!-- xsd:element name="your-content-ID" type="Attachment_type"/ -->
<xsd:any namespace="##any" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:element name="SOAP_Domain_Msg" type="SOAP_Msg_type">
</xsd:element>
<xsd:complexType name="Input_t">
<xsd:sequence>
<xsd:element ref="Player"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Input" type="Input_t">
</xsd:element>
<xsd:complexType name="Output_t">
<xsd:sequence>
<xsd:element ref="Player_Name"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Output" type="Output_t">
</xsd:element>
<xsd:element name="Player" type="xsd:string"/>
<xsd:element name="Player_Name" type="xsd:string"/>
</xsd:schema>
Back to top
View user's profile Send private message
WMBDEV1
PostPosted: Wed Mar 18, 2009 1:54 am    Post subject: Reply with quote

Sentinel

Joined: 05 Mar 2009
Posts: 888
Location: UK

Can you post the generated WSDL please?
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Wed Mar 18, 2009 6:08 pm    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/soapreqres" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="soapreqres" targetNamespace="http://tempuri.org/soapreqres">
<wsdl:documentation>
<wsdl:appinfo source="WMQI_APPINFO">
<MRWSDLAppInfo imported="true">
<binding hasEncoding="false" imported="true" name="soapreqresSOAP_HTTP_Binding" originalBindingStyle="document"/>
</MRWSDLAppInfo>
</wsdl:appinfo>
</wsdl:documentation>
<wsdl:types>
<xsd:schema xmlns:mrm="http://tempuri.org/soapreqres" targetNamespace="http://tempuri.org/soapreqres" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation=".//soap.mxsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="Operation1_in">
<wsdl:part element="tns:Input" name="Input"/>
</wsdl:message>
<wsdl:message name="Operation1_out">
<wsdl:part element="tns:Output" name="Output"/>
</wsdl:message>
<wsdl:message name="Operation1_fault1">
<wsdl:part element="tns:Input" name="Input"/>
</wsdl:message>
<wsdl:portType name="soapreqresPortType">
<wsdl:operation name="Operation1">
<wsdl:input message="tns:Operation1_in" name="Operation1_Input"/>
<wsdl:output message="tns:Operation1_out" name="Operation1_Output"/>
<wsdl:fault message="tns:Operation1_fault1" name="Operation1_Fault"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="soapreqresSOAP_HTTP_Binding" type="tns:soapreqresPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Operation1">
<soap:operation/>
<wsdl:input name="Operation1_Input">
<soap:body parts="Input" use="literal"/>
</wsdl:input>
<wsdl:output name="Operation1_Output">
<soap:body parts="Output" use="literal"/>
</wsdl:output>
<wsdl:fault name="Operation1_Fault">
<soap:fault name="Operation1_Fault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="soapreqresSOAP_HTTP_Service">
<wsdl:port binding="tns:soapreqresSOAP_HTTP_Binding" name="SOAP_HTTP_Port">
<soap:address location="http://localhost:7800/soapreqresSOAP_HTTP_Service"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Back to top
View user's profile Send private message
broker_new
PostPosted: Wed Mar 18, 2009 6:52 pm    Post subject: Reply with quote

Yatiri

Joined: 30 Nov 2006
Posts: 614
Location: Washington DC

It looks like you are using the SOAP Attachments.
Really you cannot test it using the SOAPUI for testing the attachments.

Create one more message flow (use the MRM) to call the exposed web service
MQInput>>>Compute>>>HTTPRequest>>>Trace

and in ESQL populate SOAP headers ..the content-type, MIME headers and content transfer encoding ..and try calling the web service and
capture the response in trace node..
_________________
IBM ->Let's build a smarter planet
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Wed Mar 18, 2009 7:22 pm    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

Sorry broker_new there are no attachments
Back to top
View user's profile Send private message
WMBDEV1
PostPosted: Thu Mar 19, 2009 1:11 am    Post subject: Reply with quote

Sentinel

Joined: 05 Mar 2009
Posts: 888
Location: UK

Is the SOAP Envelope modelled in your generated message set?

If you regenerate the message set from the WSDL rather than the XSd, does it look different then?
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Thu Mar 19, 2009 6:17 pm    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

WMBDEV1, I have not generated the message set from wsdl or any xsd file. Instead I created a message set and then generated the wsdl from from that message set and then created the flow which together was deployed.

I feel my message set is not proper ie the message set I have created might not be correct.
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Fri Mar 20, 2009 12:01 am    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

RaviKrG wrote:
I feel my message set is not proper ie the message set I have created might not be correct.


Did you generate the xsd (posted here) from the message set you created manually?...the message you are trying to put does not seem to be according to the schema... try validating the message against the XSD using XML spy or similar tools...
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Fri Mar 20, 2009 12:43 am    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

Thanks MQEnthu, No I did not generate any xsd file.
As before I have only generated wsdl file from the message set and if at all any other file is generated then I will not be able to tell.

But finally today I could resolve the issue and for my request send I get my response now.

Thanks for your help.
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Fri Mar 20, 2009 12:46 am    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

RaviKrG wrote:
But finally today I could resolve the issue and for my request send I get my response now.

Thanks for your help.


What was the problem? How did you manage to solve it?
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
RaviKrG
PostPosted: Fri Mar 20, 2009 12:53 am    Post subject: Reply with quote

Master

Joined: 07 Sep 2008
Posts: 240

As stated before my message set was not looking proper because of which I was not able to find my generated wsdl file proper. Still I am not sure of how to create message set in these scenario.

Finally I did the following
1) Created a wsdl file using this link http://wiki.eclipse.org/index.php/Introduction_to_the_WSDL_Editor
2) Created the message set using the wsdl file created in step 1
3) Created the message flow by using the wsdl file and got the flow as soapinput --> subflow ------- then replynode but this was not connected.
4) added a mapping node in between subflow and reply node (soapinnode -> subflow -> mapping node -> reply node

Finally tested and I got all proper.

But please do let me know if the above steps taken are right or wrong or I need to modify any thing here
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » soap req message parsing problem
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.