Skip to Content
0

Receiver SOAP adapter Issue - Not reaching to target system

Apr 18, 2017 at 02:35 PM

523

avatar image
Former Member

Hi All,

I have an issue in connecting to target system from SAP PI.

Description:

This is Proxy to SOAP scenario.SAP ECC sends the data to SAP PI inform of proxy and PI inturns sends it to target system which is on cloud via webservice.

We have imported the WSDL and did the mapping after mapping below is the output from SAP PI.

Request Mapping structure:

WSDL structure is in the below from in SAP PI after mapping

<?xml version="1.0" encoding="UTF-8"?> <ns0:insert xmlns:ns0="abcd"> <record></record>

</ns0:insert>

Target structure is expecting in the below format:

http://schemas.xmlsoap.org/soap/envelope/">

I have done the XSLT mapping as below:

http://www.w3.org/1999/XSL/Transform" > http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://abcd">

<xsl:copy-of select="*"/> </soapenv:Body> </soapenv:Envelope> </xsl:template> </xsl:stylesheet>

I have used the XSLT mapping in the OM.Then in receiver SOAP communication channel i have used below module bean to convert ns0 to u

Paramter Value: http://schemas.xmlsoap.org/soap/envelope/ soapenv http://abc u

I have marked DoNotuseSoap Envelope in the confg.

Issue:

We are not able to send the data to the target side.It is HTTPS with SSL confg. We haev installed the cert in trustedCA and using basic authentication.

We tried both Sync and Async,but no luck.

In ASync case it is showing success but the target system is not receiving the data.

In SYNC case it is throwing the below error:Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error

Please suggest what could be the error from SAP PI.

capture.png (15.0 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Mark Dihiansan Apr 19, 2017 at 03:19 AM
1

Hi,

Only check the "Do Not Use SOAP Envelope" if you are planning to:

1. Send something in the SOAP Header

2. Remove the SOAP Envelope

3. Send something in the HTTP Body that is not XML

Please untick the Do Not Use SOAP Envelope, remove the anonymizer bean, set the interface to sync and then get back to us.

Regards,

Mark

Show 6 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi,

We don't want to send any thing in the SOAP Header.Target system is expecting the data in the below format with SOAPenvelope.

http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="abc">

<soapenv:Body>

<u:insertMultiple>

<record>

</record>

</u:insertMultiple>

</soapenv:Body>

</soapenv:Envelope>

So we have used anonymizer bean to convert ns0 to U?

0

Hi,

I don't see an opening <soapenv:Envelope> tag in your XML message above. Is it just a "copy&paste" error or there is something wrong with your message?

Usually a prefix of a namespace doesn't matter, it can be any sequence of characters. Only once I has a such requirement that a prefix had to be exactly as provided.

Regards,

Andrzej

0
Former Member
Andrzej Filusz

It is copy and paste error.

But they were expecting the namespace exactly.I am using XSLT mapping and it is converting in the req format,but it is not converting ns0 to U.

Can u help how i can do that ?

0

Hi Sahithi,

These two are semantically equal:

 

http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="abcd">

is equal to

 

http://schemas.xmlsoap.org/soap/envelope/">

Please un-check the Do Not Use SOAP Envelope and then remove module 1 in the adapter module configuration.

Regards,

Mark

0

Hi Sahithi!

And why did you turn off using SOAP Envelope? In this case message is sent to receiver without wrapping it with SOAP Envelope tags and your target system doesn't accept it. This option is used when you need to compose the SOAP Envelope with additional elements, for example.

Regards, Evgeniy.

0
Former Member
Evgeniy Kolmakov

Hi,

When i uncheck the donot soap envelope and removed the module 1 it is showing below error.

MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 {http://schemas.xmlsoap.org/wsdl/}definitions; HTTP 200 OK

0
avatar image
Former Member Apr 19, 2017 at 02:43 PM
0

can anyone help me on the above issue ?

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Apr 19, 2017 at 02:43 PM
0

can anyone help me on the above issue ?

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Could you provide the current configuration of your CC please? And have you tested your mapping in OM?

Regards,

Andrzej

0