Author |
Message
|
iib10ws |
Posted: Tue Jun 14, 2016 3:38 am Post subject: SOAP Request erroring out |
|
|
Newbie
Joined: 08 Jun 2016 Posts: 6
|
All,
I have a SOAP Aervice that has a SOAP INPUT NODE with only INPut defined for ONEWAY MEP.
I was able to consume this service using a SOAP Request when the Service is running under HTTP non SSL.
When I turn On the SSL I am Getting the ERROR:
"A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used"
I am consuming this service from the Local Workstation running IIB tool kit 10.0.0.1
I created a Trust store on my local workstation and imported the certificate into the TRUSTSTORE.
Can you please help me what I need to be able to consume the Service in SSL from my DEV Server.
Dev Server has the Cert in its keystore and other .NET Clients are able to consume the Service and IIB could not from local workstation |
|
Back to top |
|
 |
iib10ws |
Posted: Tue Jun 14, 2016 3:40 am Post subject: |
|
|
Newbie
Joined: 08 Jun 2016 Posts: 6
|
Here is the WSDL defined
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ws.com/Reconciliation/" xmlns:wsa="http://www.w3.org/2005/08/addressing/none" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Reconciliation" targetNamespace="http://www.ws.com/Reconciliation/">
<wsdl:documentation>
<wsdl:appinfo source="WMQI_APPINFO">
<MRWSDLAppInfo imported="true">
<generatedXSD location="Reconciliation_InlineSchema1.xsd"/>
<binding hasEncoding="false" imported="true" name="ReconciliationSOAP" originalBindingStyle="document"/>
</MRWSDLAppInfo>
</wsdl:appinfo>
</wsdl:documentation>
<wsdl:types>
<xsd:schema xmlns:ibmSchExtn="http://www.ibm.com/schema/extensions" elementFormDefault="qualified" targetNamespace="http://www.ws.com/Reconciliation/">
<xsd:include schemaLocation="https://eisservices-dev.app.ws.net:7083/ws/entservice/messenger/processmessage?xsd=xsd0"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ReconciliationRequest">
<wsdl:part element="tns:ReconciliationData" name="parameters"/>
</wsdl:message>
<wsdl:portType name="SendMessage">
<wsdl:operation name="ReconciliationData">
<wsdl:input message="tns:ReconciliationRequest" name="ReconciliationRequest"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ReconciliationSOAP" type="tns:SendMessage">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="ReconciliationData">
<soap:operation soapAction="http://www.ws.com/reconciliation/ReconciliationData"/>
<wsdl:input name="ReconciliationRequest">
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SendMessage">
<wsdl:port binding="tns:ReconciliationSOAP" name="ReconciliationSOAP">
<soap:address location="https://eisservices-dev.app.ws.net:7083/ws/entservice/messenger/processmessage"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
The error I am getting is :
"A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used"
(0x01000000:Folder ):RecoverableException = (
(0x03000000:PCDataField):File = 'F:\build\slot1\S000_P\src\WebServices\WSLibrary\ImbSOAPRequestHelper.cpp' (CHARACTER)
(0x03000000:PCDataField):Line = 2348 (INTEGER)
(0x03000000:PCDataField):Function = 'ImbSOAPRequestHelper::makeSOAPRequest' (CHARACTER)
(0x03000000:PCDataField):Type = '' (CHARACTER)
(0x03000000:PCDataField):Name = '' (CHARACTER)
(0x03000000:PCDataField):Label = '' (CHARACTER)
(0x03000000:PCDataField):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:PCDataField):Severity = 3 (INTEGER)
(0x03000000:PCDataField):Number = 3708 (INTEGER)
(0x03000000:PCDataField):Text = 'A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used' (CHARACTER)
(0x01000000:Folder ):Insert = (
(0x03000000:PCDataField):Type = 5 (INTEGER)
(0x03000000:PCDataField):Text = 'HTTP/1.1 500 Internal Server Error' (CHARACTER)
)
(0x01000000:Folder ):Insert = (
(0x03000000:PCDataField):Type = 5 (INTEGER)
(0x03000000:PCDataField):Text = 'https://eisservices-dev.app.ws.net:7083/ws/entservice/reconciliation/sendmessage' (CHARACTER)
) |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Jun 14, 2016 4:14 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It's nothing to do with SSL.
You are sending the SOAP Request. The other side is receiving the SOAP Request.
The exchange is supposed to be one way - you send a request, the server sends back just HTTP headers to say "yes, I got your request".
The server is sending back contents in the message instead of just HTTP Headers.
Likely a SOAP fault. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
iib10ws |
Posted: Tue Jun 14, 2016 4:46 am Post subject: |
|
|
Newbie
Joined: 08 Jun 2016 Posts: 6
|
Could you please elaborate how to handle the the return of HTTP headers if it I setup ONE WAY MEP. Either to SOAP Input on the service side or on the SOAP REquest.
Thanks |
|
Back to top |
|
 |
iib10ws |
Posted: Tue Jun 14, 2016 4:51 am Post subject: |
|
|
Newbie
Joined: 08 Jun 2016 Posts: 6
|
Also the service works if I consume the HTTP version of the service. IT is only when the SSL is enabled I am getting this error. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 14, 2016 4:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
iib10ws wrote: |
Could you please elaborate how to handle the the return of HTTP headers if it I setup ONE WAY MEP. Either to SOAP Input on the service side or on the SOAP REquest. |
The problem, as my most worthy associate correctly points out, is that you're getting headers and content back to a service you've described as one way. The clue is in the message text:
Quote: |
'A SOAP Request node received a response message body, when one was not expected as a OneWay Messsage Exchange Pattern (MEP) used' |
I further agree with him that what you're getting is most likely a SOAP Fault, based on:
Quote: |
'HTTP/1.1 500 Internal Server Error' |
So the probable scenario is you're sending what IIB has been told is a one way message, the target is abending, sends you a 500 code and a SOAP Fault at which point IIB throws the error because it's not expecting a SOAP Fault any more than it's expecting a SOAP Response.
The problem is that the endpoint you're calling is returning a SOAP Fault that's not defined in the WSDL (like the response is not defined in the WSDL). They need to be told to stop that. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 14, 2016 4:55 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
iib10ws wrote: |
Also the service works if I consume the HTTP version of the service. IT is only when the SSL is enabled I am getting this error. |
Indicating that there's a problem in the SSL configuration which causes the 500 code and associated SOAP Fault. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
iib10ws |
Posted: Tue Jun 14, 2016 5:00 am Post subject: |
|
|
Newbie
Joined: 08 Jun 2016 Posts: 6
|
Server has the Cert in its keystore and other .NET Clients are able to consume the Service on SSL and IIB could not from local workstation.
If I were to suspect the issue as SSL error as .NET clients are able to make a successful call, which leads me to believe the Server side SSL setup is correct.
What kind of SSL setup is required on my local workstation for SOAPREQUEST call ?
Am I wrong in my assumptions or what is the way I shoud pursue.
I had the cert in my local trust store on the workstation.
Any insights would be appreciated. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Jun 14, 2016 5:06 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
|
Back to top |
|
 |
|