cancel
Showing results for 
Search instead for 
Did you mean: 

No SOAP Envelope error in SOAP Receiver Adapter

jagesh_lakdawala
Active Participant
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

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

jagesh_lakdawala
Active Participant
0 Kudos

Hi,

I havent selected any of such options.

what is the use of selecting this option, please let me know.

previously for all Receiver Adapter i have never appplied this option and was working fine. (Though it was different web applicaiton and not this one).

Thanks & Regards

Jagesh

markangelo_dihiansan
Active Contributor
0 Kudos

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

jagesh_lakdawala
Active Participant
0 Kudos

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

jagesh_lakdawala
Active Participant
0 Kudos

Hello Experts,

please guide me for this issue.

Regards

Jagesh

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

did you see my previous post? i think your problem is there. this is a common error related with a wrong URL definition in the communication channel.

follow the steps mentioned in my post in the link i provided to you

Rgds

jagesh_lakdawala
Active Participant
0 Kudos

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

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Hi

copy and paste the URL used in XMLSpy to the communication channel, no matter if you are sure that the URL its ok in the CC, replace it.

Test your scenario again.

Rgds

RP

jagesh_lakdawala
Active Participant
0 Kudos

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

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

so, seems its a mapping issue. take a look to this thread

rgds

RP

jagesh_lakdawala
Active Participant
0 Kudos

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

jagesh_lakdawala
Active Participant
0 Kudos

Hi,

RESOLVED now..

I had been given the Wrong Target URL, in the end '/' was missing.

But in Altova, same URL that is wihout the '/' in the end is working, this is very surprising.

Thanks to you and all concerned ones.

Regards

Jagesh

Answers (1)

Answers (1)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi,

you have defined a wrong URL in your communication channel. please validate it.

take a lo look to link with the same error.