cancel
Showing results for 
Search instead for 
Did you mean: 

Soap Receiver adpater: HTTP 20 OK, canu2019t parse the document

Former Member
0 Kudos

Hi Everyone,

The scenario is SAP ECC -> PI -> server (third party remote server).

Here the PI has to post the message (payload) which is coming from the SAP ECC to the third party remote server.

We have the soap receiver adapter to send the payload to the remote client system.

When we do the end-to-end testing, in RWB the soap receiver adapter is throwing an error

HTTP 20 OK, canu2019t parse the document

Any idea what might the error or any configuration we missed out.

Thanks,

Lalitkumar.

Accepted Solutions (0)

Answers (11)

Answers (11)

Former Member
0 Kudos

Hi Everyone,

I have confirmed from the third party system team, they accept only http protocol...

looking forward for any inputs....

thanks,

Lalitkumar.

stefan_grube
Active Contributor
0 Kudos

> they accept only http protocol...

This answer is so useless.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

What you entered in the target URL in the soap receiver communication channel seems to be wrong to me? You entered some extra query string or attribute in that url.

PLease open your wsdl and see what is given in the soap service location. Specify what has given in that file.

This might solve your problem. If not provide the wsdl service location part, we will give you the exact target URL for your third party webservice.

Former Member
0 Kudos

Hi Abhishek,

I need to confirm which protocol does the end systems support.

since we have configured both the adapter, i guess either one of them should have worked...

but anyways will confirm from their end.

Thanks,

Lalitkumar.

stefan_grube
Active Contributor
0 Kudos

> i guess either one of them should have worked...

In my opinion you are guessing to much.

Clarify which protocol is requested and how the data stream should look like.

If there is a specific non-standard protocol used, then you have to deal with it, but before you do not have an ecact specification, you cannot connect the system successfully.

Former Member
0 Kudos

Hi Stefan,

You mentioned that PI will be waiting response ,

The Web service has to respond an empty SOAP envelope, but it does not return anything.

Itu2019s fine if it is waiting for the response.

But when we logon to the server using different link (that the portal of the server) to which we submit the payload, none of the invoices is seen whenever we submit.

just a basic question, can we use the soap receiver adapter to post the invoices to external server (async scenario)

i had tried with the HTTP receiver adapter too, with that also facing the same problem.

kindly reply to that thread also...

[unable to post the payload|;

Thanks,

Lalitkumar.

former_member200962
Active Contributor
0 Kudos
just a basic question, can we use the soap receiver adapter to post the invoices to external server (async scenario)

You can use SOAP/ HTTP adapter (or any other) only when the receiving system is able to interpret the data....can your receiving system handle SOAP calls? Did you try confirming from the end system admins which protocol is supported before sending message?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

I understood that you are trying to send idoc to soap message via pi.

Questions:

1) Have you configured your soap receiver adapter as required? Have your created your target message based on the third party WSDL? Please answer.

2) HTTP POST to the web server is different from consuming third party web service. Though Webservice is using HTTP as Transport Protocol, the message structure is different.

3) HTTP 200 0k means server response is good. You cannot POST SOAP MESSAGE using RWB.

4) I think you are posting the data but not in the expected message soap structure. So contact your third party and ask what they are expecting ? HTTP POST or SOAP Message.

Baskar

Former Member
0 Kudos

Hi Stefan,

In this scenario we are using the url provided by the external server team tp post the data from PI. So if I am wrong, the PI should not wait for the response instead it should successfully post the payload.

But no idea whatu2019s the issueu2026?

Thanks,

Lalitkumar.

stefan_grube
Active Contributor
0 Kudos

> the PI should not wait for the response instead it should successfully post the payload.

PI must wait for the response to see, if the message is successfully posted to the webserice, that menas the response could have an information about the error.

I have told you already the reason for the issue.

Former Member
0 Kudos

Hi Stefan,

Itu2019s an async scenario, where I have to post the data to external server from ECC system.

ECC -> PI -> External server.

So response required from the server.

Thanks,

Lalitkumar.

stefan_grube
Active Contributor
0 Kudos

According to SAP Note 856597 the Web service has to respond an empty SOAP envelope, but it does not return anything.

So it is an error on web service side. Contact the provider of the web service and get the issue solved there.

stefan_grube
Active Contributor
0 Kudos

> HTTP 20 OK, canu2019t parse the document

That means that the webservice does not send back a response message.

Is this a sync or async scenario? Is the webservice supposed to send a response?

If the webservice should not send a response, as this is an async scenario, the status code should be 204 (no content)

Former Member
0 Kudos

Hi EveryOne,

Still waiting for the above issue mentioned.

please help....

Best Regards,

Lalitkumar,

Former Member
0 Kudos

Hi Abhishek,

Thanks for such quick response.

The idea over is to post the xml file to external server which is been generated from PI system. The target structure to which we have mapped is the XSD provided by them and accordingly we have mapped from our source (which is idoc). The issue is its able to ping the External Server(with HTTP 20 ok message), but unable to post (parse) the XML file.

Any idea how it can be handle if not Soap receiver adapter.

Thanks,

Lalitkumar.

former_member200962
Active Contributor
0 Kudos

It may be due to the SOAP message (SOAP envelope, headers)....can you check with the receiving system if they can process the message that you are sending....check with them what details they need in the SOAP message.

Doubtful if you can see the entire SOAP message in PI.

Former Member
0 Kudos

Hi Abhishek,

Here we not using any WSDL, as the scenario is to post the Invocies from the SAP ECC to the remote client.

the remote client is accessed through a url which had been provided by them. its a asynchrous scenario.

Thanks,

Lalitkumar.

former_member200962
Active Contributor
0 Kudos
Here we not using any WSDL, as the scenario is to post the Invocies from the SAP ECC to the remote client.
the remote client is accessed through a url which had been provided by them. its a asynchrous scenario.

In that case how do you know that the structure which PI is passing to remote client is correct or how do you ensure that remote client will be able to process the message (structure) that PI is sending?

Regards,

Abhishek.

Former Member
0 Kudos

HI Michal,

Thanks for the reply.

In sxmb_moni the message is successfully processed and waiting for the acknowledgement.

When we use the following the link (of the third party) the IE gives the following the message:

failed, No payload available to be processed. populate either $xmldata, or xmldata

in meanwhile I had used the http receiver adapter but in that too Iu2019m facing a problem,below is the link which I raised for the http adapter.

[unable to post the payload| ]

please provide your inputs on this.

thanks,

Lalitkumar.

former_member200962
Active Contributor
0 Kudos

Did you check if the structure that your mapping is generating same as the one provided in the receiver's wsdl file?

Regards,

Abhishek.

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

did you check how the SOAP call looks like in monitoring ?

(you can try using the same data with SOAP UI and check it both calls are the same)

Regards,

Michal Krawczyk