cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.4 AEX - Soap 2 Soap - Handle SOAP 1.2 Fault Message

Former Member
0 Kudos

Hello Experts,

I have a scenario SOAP to SOAP without any mapping.

External Partner invokes exposed webservice as SOAP Sender channel.

The message request is forwarded to a SOAP Receiver channel invoking a ASP.NET Webservice on internal Application Server.

I have problems handling the Fault message responses of the Asmx Webservice.

The ASP.net Webservice is obviously using SOAP 1.2.

Receiver channel Log shows following error: SOAP: Call failed: java.io.IOException: Unexpected element in SOAP:Fault; HTTP 500 Internal Server Error


XPI Inspector returns below result:

In the last line before error begins (starting with 'read') , the complete SOAP Fault message is displayed.

How can I handle those fault messages? The fault message just need to be forwarded as response to the invoking application of Sender Channel.

THank you in advance.

Best regards,

Fabian

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Thank you guys for your suggestions and help.

The noSOAPMakeSysErrFromResponseFault Parameter didn't solve it.

I suppose the problem was the SOAP 1.2 response.

Changing SOAP Receiver CC to "No Use SOAP Header" , XMBWS.NoSOAPIgnoreStatusCode Module-Parameter and handling the Messages with a XSLT mapping solved it so far.

Now the fault message runs into the adapter engine and is handled as regular response by the mapping.

(fault reason regular error response in target system)

former_member183816
Active Participant
0 Kudos

I believe, you must have define one fault message mapping to handle this soap fault.

For soap fault message structure,coming from receiver, you must be using wsdl provided by receiver system. Are there two soap fault structure available, one for soap 1.1 and one for soap 1.2? Are you selecting correct one?

engswee
Active Contributor
0 Kudos

Hi Fabian

Can you copy out the entire SOAP Fault content and paste it into this thread? The screenshot only shows the content partially.

Rgds

Eng Swee

0 Kudos

Hi Fabian.

Use parameter noSOAPMakeSysErrFromResponseFault with value false in SOAP receiver Channel.

Please refer the below link.

Best regards.

maheswarareddykonda
Active Contributor
0 Kudos

if you are looking for to get the fault message from receiver and send to source channel , you can these two in receiver channel modules tab.

Used below adapter module parameter

1.     Module Key= soap

        Parameter Name=    noSOAPMakeSysErrFromResponseFault

        Parameter value=  false

2.    Module Key= soap

       Parameter Name=XMBWS.NoSOAPIgnoreStatusCode

       Parameter value=  true

also i am guessing that you are getting system error, so you can not capture fault message.

fault message will appear only when you get application error.

so please check why that request is getting fail in PI. also make sure you can test same request data in SOAP UI and then see if that working there.

in case works in UI tool, check that content type of data which is sending receiver server. i am thinking as of your content type is text/xml....there must be something else.

former_member186851
Active Contributor
0 Kudos

Hello Fabian,

Can you refer the below link and configure accordingly