on 11-10-2011 11:16 AM
Hello Friends,
Informaiton:-
I have configured one Synchronous scenarion for SAP R/3 to PI 7.1 to Java based web applicaiton.
On the Receiver/Outbound side, i have configured the SOAP Receiver Adapter with the Target URL and SOAP Action.
Outbound and Inbound service interfaces have Request/Response and Fault messages.
Issue:-
While sending the Message, Below error is noticed in ABAP stack SXMB_MONI during the Call Adapter Stage and also in RWB (Channel Monitoring) .
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 {}RESPONSES; HTTP 200 OK
I also found that Request message is not reaching to the Java Web server.
I am taking the Same message Payload (found at Call Adapter Stage) and ussing it in XML Altova SPY Web client tool. There it is running scuccessfully and getting the Response message.
please suggest.
Thanks & Regards
Jagesh
Hello,
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 {}RESPONSES; HTTP 200 OK
Is the option Do Not Use SOAP Envelope checked in your SOAP Receiver Adapter?
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
what is the use of selecting this option, please let me know.
Here are a few reasons for using that on SOAP Receiver Adapter:
1. When there is a business requirement that a SOAP Header needs to be sent along with the SOAP Body. PI does not send or has no entry in the SOAP Header by default, so in order to construct the SOAP Header, the entire SOAP Envelope needs to be overridden. The Do Not Use SOAP Envelope option allows you to construct the SOAP Envelope manually either by using XSLT or Java Mapping.
2. When you want the SOAP Receiver Adapter to function like a Plain HTTP Adapter (for plain XML POSTing) except that the SOAP Adapter resides on the Java Stack and you can also adapter modules to it.
Maybe the Java Application does not need the SOAP Envelope. Can you confirm this with the third party?
Hope this helps,
Mark
Edited by: Mark Dihiansan on Nov 10, 2011 3:04 PM
Hi Mark,
Thanks for clearing many doubts on using the conversion parameters for SOAP Receiver Adapter.
As such there is not any requirement from Third party for remving the SOAP Envelope element and adding the SOAP Header Element in the SOAP Request message.
So far i have identified the below points.
(1)When I consume same WSDL file in Altova XMLSPY (Here SOAP Message consist of SOAP Envelope and SOAP BODY Only) and use the same message payload from PI then sometime i got the response message and sometime i got the Exception message.
(2)When i am sending the SOAP Request from PI, NULL Pointer exception is being raised in Third Party Web system which we have noticed in their server Log file.
(3)In PI, we got some part of the Error text as 'HTTP 200 OK' that means success in sending the SOAP Request to the web server.
Please suggest.
Thanks for your help.
Regards
Jagesh
Hi,
Yesterday i consumed the same WSDL file in Altova XML SPY and there it is working, getting the Response.
Now comparing the SOAP Request message reaching to the Third party Web server (which fall within the same Lane network)
from SAP PI and Altova XML SPY tool. I used TCP Gateway for the below scenarios.
(1)First i sent the SOAP message from PI and observed the RESPONSE message without the SOAP Envelope in TCP Gatway Trace and hence i am getting the No SOAP Envelope Error in PI.
(2)I consumed the same WSDLfile in Altova XML SPY and sent the SOAP message, here i got the Proper SOAP Response message and hence success in this case. (Used the same Data Payload as used in point 1)
(3)Now to identify the issue in the SOAP Request message being sent from PI, i used the same SOAP message sent in step 1 here, that means copy the entire SOAP ENvelope from the TCP gateway Trace and pasted it in Alota Spy and sent, there it is found running (got the response message from Third Party server).
One difference i found in HTTP Protocol statements in SOAP Request message in Point no 1 and Point no 2 above.
HTTP Protocols in Point 1 (Through PI).
POST HTTP/1.0
Accept: /
Host: 172.24.138.142:4544
User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505
CallingType: SA
content-id: <soap-00306EEAC2051ED1839136CEE8564900 sap.com>
Content-Type: text/xml; charset=utf-8
Content-Length: 1195
SOAPACTION: "Action1"
HTTP Protocols in Point 2 (Through Altova).
POST / HTTP/1.1
Content-Type: text/xml
User-Agent: XML Spy
SOAPAction: "Action1"
Host: 172.24.138.142:4544
Content-Length: 1195
Connection: Keep-Alive
Cache-Control: no-cache
Thanks to Mr. Stefan Grube for writting such a nice blog.
Experts, please suggest me further.
Thansk & Regards
Jagesh
Hi Experts,
Many times changed the Target URL and still no success.
I am still wondering that is there issue in SOAP Request Message delivered by PI or issue in Third party Web system in parsing the SOAP message from PI.
As of now, SOAP message is able to reach to the Third party server but there some Null Pointer exception is being raised.
Please advice me.
Regards
Jagesh
Hi,
Yes this link looks somewhat relevant but int my case it is decided that Response message must follow the basic SOAP Message strucutre, so there is no point of using the option 'DO Not use SOAP Envelope'.
Structure of the Response message which is mentioned by the Author in the suggested Thread is not the normal reply message, It is Defualt Response message (text message) from the Host Web server.
Thanks for your effort and time.
Hopefully i will get the proper solution.
Experts, Please suggest me.
Regards
Jagesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.