Author |
Message
|
ravi_neo |
Posted: Thu Jan 20, 2011 10:31 pm Post subject: Exception at soap request node. |
|
|
Newbie
Joined: 20 Jan 2011 Posts: 5
|
Hi Everyone,
I am having a problem when configuring the web services in request response format. I am having a consumer flow which has a soap request node and sends web service request to the producer flow. The producer flow has a soap input node which will recieve the web service request and process the request before sending the response as output using soap reply node. I am having 2 xsds one being the request xsd and other being the response xsd. I am creating a wsdl such that the input for the webservices is the request xsd and the output is response xsd. Now when I deploy the bar file in the broker and give input, the request goes to the failure terminal of the Soap request node with the exception as shown below.
RecoverableException
File:CHARACTER:F:\build\S000_P\src\WebServices\WSLibrary\ImbSOAPRequestNode.cpp
Line:INTEGER:959
Function:CHARACTER:ImbSOAPRequestNode::requestData
Type:CHARACTER:ImbRequestTemplateNode
Name:CHARACTER:com/saudi/esb/SecurityAuthenticateSignInFlow#FCMComposite_1_7
Label:CHARACTER:com.saudi.esb.SecurityAuthenticateSignInFlow.SOAP Request
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:3708
Text:CHARACTER: A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used Insert
Type:INTEGER:14
Text:CHARACTER:HTTP/1.1 500 Internal Server Error
I am getting this error even after I have configured the wsdl as a request response type.
Awaiting for your answers..
Cheers |
|
Back to top |
|
 |
mgk |
Posted: Fri Jan 21, 2011 1:37 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Quote: |
A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used |
This message is fairly clear. The WSDL for the request node defines a OnwWay MEP, but the remote server sent a reply. If there really is supposed to be a reply, change the WSDL to be TwoWay. Or change the server to not send a response...
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ravi_neo |
Posted: Fri Jan 21, 2011 3:50 am Post subject: |
|
|
Newbie
Joined: 20 Jan 2011 Posts: 5
|
But when I generate the wsdl, I select the operation type as request - response, and also the provider flow is programmed such that it gives a response. What I observed is that while debugging the control does not go to the provider flow. I am getting this exception when the control goes to soap request node. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jan 21, 2011 4:03 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Are you using SOAPRequest node, or SOAPAsynchRequest node?
What is the definition of the operation in the WSDL? |
|
Back to top |
|
 |
ravi_neo |
Posted: Fri Jan 21, 2011 4:14 am Post subject: |
|
|
Newbie
Joined: 20 Jan 2011 Posts: 5
|
I am using Soap request node in my client flow and soap input and soap reply in my provider flow. Also the definition of operation in wsdl is "Generate a new WSDL definition from existing message definitions". |
|
Back to top |
|
 |
mgk |
Posted: Fri Jan 21, 2011 4:18 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Can you post your WSDL? _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
ravi_neo |
Posted: Fri Jan 21, 2011 4:33 am Post subject: |
|
|
Newbie
Joined: 20 Jan 2011 Posts: 5
|
This is the wsdl that I generated after creating mxsds for both request and response...
Code: |
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://xml.amadeus.com/VLSSLQ_06_1_1A" xmlns:Q1="http://xml.amadeus.com/VLSSLR_06_1_1A" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/Webservices_013_MsgSet" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Webservices_013_MsgSet" targetNamespace="http://tempuri.org/Webservices_013_MsgSet">
<wsdl:documentation>
<wsdl:appinfo source="WMQI_APPINFO">
<MRWSDLAppInfo imported="true">
<binding hasEncoding="false" imported="true" name="Webservices_013_MsgSetSOAP_HTTP_Binding" originalBindingStyle="document"/>
</MRWSDLAppInfo>
</wsdl:appinfo>
</wsdl:documentation>
<wsdl:types>
<xsd:schema xmlns:mrm="http://tempuri.org/Webservices_013_MsgSet" targetNamespace="http://tempuri.org/Webservices_013_MsgSet" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://xml.amadeus.com/VLSSLR_06_1_1A" schemaLocation=".//com/amadeus/xml/vlsslr0611a/Security_AuthenticateReply_06_1_1A.mxsd"/>
<xsd:import namespace="http://xml.amadeus.com/VLSSLQ_06_1_1A" schemaLocation=".//com/amadeus/xml/vlsslq0611a/Security_Authenticate_06_1_1A.mxsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="Operation1_in">
<wsdl:part element="Security_Authenticate" name="Security_Authenticate"/>
</wsdl:message>
<wsdl:message name="Operation1_out">
<wsdl:part element="Q1:Security_AuthenticateReply" name="Security_AuthenticateReply"/>
</wsdl:message>
<wsdl:portType name="Webservices_013_MsgSetPortType">
<wsdl:operation name="Operation1">
<wsdl:input message="tns:Operation1_in" name="Operation1_Input"/>
<wsdl:output message="tns:Operation1_out" name="Operation1_Output"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Webservices_013_MsgSetSOAP_HTTP_Binding" type="tns:Webservices_013_MsgSetPortType">
<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="Security_Authenticate" use="literal"/>
</wsdl:input>
<wsdl:output name="Operation1_Output">
<soap:body parts="Security_AuthenticateReply" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Webservices_013_MsgSetSOAP_HTTP_Service">
<wsdl:port binding="tns:Webservices_013_MsgSetSOAP_HTTP_Binding" name="SOAP_HTTP_Port">
<soap:address location="http://localhost:7800/Webservices_013_MsgSetSOAP_HTTP_Service"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions> |
|
|
Back to top |
|
 |
optimist |
Posted: Fri Jan 21, 2011 12:11 pm Post subject: |
|
|
Apprentice
Joined: 18 Nov 2010 Posts: 33
|
If you open your Soap Request Node properties, under "Response Message Parsing", do you see the message type & format populated?
Since you did not include the Security Authentication related schemas, I can't say if you have an issue in your wsdl imports related to these.
Assuming you are able to invoke the service otherwise (say using SOAPUI client) and get a valid response, I would look at the response message parsing to see if it is correctly configured.[/img] |
|
Back to top |
|
 |
ravi_neo |
Posted: Mon Jan 24, 2011 12:25 am Post subject: |
|
|
Newbie
Joined: 20 Jan 2011 Posts: 5
|
I checked the 'Response Message Parsing' tab in the soap request node. What I observed was Message domain and Message set is being populated but message type and message format is blank and not populated by the wsdl. Also that parameter is disabled and can be changed only by using wsdl. What could be the reason behind this...
Also please let me know if you want to take a look at the xsds.. |
|
Back to top |
|
 |
optimist |
Posted: Mon Jan 24, 2011 6:02 am Post subject: |
|
|
Apprentice
Joined: 18 Nov 2010 Posts: 33
|
Are you able to invoke the service from a stand-alone UI like SoapUI? You can download SoapUI for free and test it out. It takes about 5 min to download, install, and call a web service. All you need to do is to specify the WSDL location and SoapUI will take care of parsing the wsdl and creating the sample request messages etc.
Send me the xsd's as well. I run WMB 7 and I will test on it tonight. |
|
Back to top |
|
 |
apiddi05 |
Posted: Tue Feb 28, 2012 8:15 pm Post subject: |
|
|
 Newbie
Joined: 03 Jun 2011 Posts: 3 Location: Singapore
|
Recently I came across this problem and resolved by editing wsdl. Literally these was no difference in new and old wsdl's and it was kind of re creating message set with the same wsdl. I assumed its as usual re creating has resolved the issue. But this discussion thread made me to think on root cause. Later I noticed, Soap Request Node properties, under "Response Message Parsing", message type & format's were not populated and its working all fine. |
|
Back to top |
|
 |
|