cancel
Showing results for 
Search instead for 
Did you mean: 

Proxy to SOAP: Error in Receiver Channel.

Former Member
0 Kudos

I am working on proxy to SOAP scenario & did the following.

(1) Loaded WSDL in PI. The WSDL has many messages ( it is single WSDL for many operations)

(2) I can see the Message and also see Fault messages in external definition

(3) I created Service interface ( Inbound and Outbound) from one of the message.

Since the source is same as target, no mapping is created. Also created all ID objects

(4) In Receiver Communication channel put SOAP Action for that message as well target URL

(5) Create Proxy out of service interface out & push the proxy via ECC.

I can see the message coming from ECC but getting Error in RWB in SOAP Receiver channel ( proxy to SOAP )

Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault


Let me know if any one has idea on this.


PS: When i test it from SOAP UI, using the same target URL, it works perfectly fine.


Thanks!

Accepted Solutions (0)

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi Techie,

When you test via SOAPui, can you check if the content-type reponse is application/xml?.

If the SOAP response is not that, you should use SOAP receiver with the check Do not Use SOAP envelope marked and to prepare in the mapping the SOAP tags.


Regards.

Former Member
0 Kudos

I see the following in response, when i trigger the request from SOAP UI 5.0

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

   <s:Body/>

</s:Envelope>

Please advice if i should still uncheck the flag.

Regds

iaki_vila
Active Contributor
0 Kudos

Hi Techie,

You don't have a payload, and this can be a problem.

The content-type can be checked in the header:

If you mark the check, not unmark, you avoid the SOAP validations. However, you have to create the SOAP tags in the request mapping, don't forget this. Also, you will have the SOAP tags in your response, take into account this as well.

Regards.

JaySchwendemann
Active Contributor
0 Kudos

This is your "successful" response when triggering the service from soapUI? Doesn't seem to much of a well designed web service that simply returns a blank soap body. But that's probably not something you'll gonna change

This may very well be the reason for your fault problem also mentioned here

You could fiddle around with this by using soapUI to create your own mock service. This is actually quite straight forward and a real help --> Mock Services | Getting started This may help you to test if actually sending a filled soap body as your response will make a difference to PI

Cheers

Jens

Former Member
0 Kudos

Hello,

Compare the payload which PI is generating at SOAP adapter with SOAP UI request message?

Thanks

Amit Srivastava

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,


<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

   <s:Body/>

</s:Envelope>

That means your scenario is asynchronous. Have you correctly set the mode to async?

Regards,

Mark

Former Member
0 Kudos

Hello All,

I am still with the same issue. Call to Third party is failing even if I configured SOAP fault message.There are no fault messages in SXMB_MONI. The Payload is same as SOAP UI( which works fine) and structure also is same.

Third party can't see the request & I don't see any error other then mentioned.

Any other suggestion are appreciated.

JaySchwendemann
Active Contributor
0 Kudos

Try XPI Inspector to get more insight where exactly the message is failing. Please also answer to all the questions asked by the people trying to help you, e.g. Mark's.

Cheers

Jens

Former Member
0 Kudos

Hi Mark,

Yes the mode is Async.

iaki_vila
Active Contributor
0 Kudos

Hi Techie,

Are you sure your service interfaces are defined async?

Have you set your sender SOAP with quality of service Exactly once?

Have you finally tried to skip SOAP envelope with the check and to construct it manually in the mapping?

Regards.

Former Member
0 Kudos

Hi,

I have checked & service is ASYNC for SOAP Receiver. My sender is proxy.

What i have done is I have taken the WSDL from third party & used this for Outbound as well inbound Service interface. ABAP proxy see the WSDL and maps the data & push it without any mapping in PI.

Do you think that can be issue.

former_member182412
Active Contributor
0 Kudos

Hi Techie,

Use TCPGW to check what is the response you getting from web service, please check below blog gow to use TCPGW.

Troubleshooting SOAP, HTTP and Mail Adapter Scenarios with TCPGateway

I always use this tool when i get this type of errors because by looking at the error there is no clue what went wrong but if you use this tool you will have more detail.

Kind Regards,

Praveen.