cancel
Showing results for 
Search instead for 
Did you mean: 

Handling SOAP fault

Former Member
0 Kudos

Hi,

we call a web service from Netweaver 7.0 ABAP system through PI.

So the scenario is Netweaver 7.0 ABAP -> PI -> Web service (HTTP SOAP)

When the web service gives a SOAP Fault, it returns an error message which we want to be able to get in the ABAP calling system. However , when a SOAP Fault happens the mapping fails and the only exception we get back in the abap system is

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">CANNOT_READ_PAYLOAD</SAP:Code>

How can we actually get the real fault message back to the abap system ... ?

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dagnino,

Can you please see shabharish blog on this:

/people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1

Regards,

---Satish

Former Member
0 Kudos

Hi,

I had seen this blog already... please note the scenario is ABAP XI Proxy Consumer -> PI => Web service

It is a synchronous scenario .

Thanks.

Answers (1)

Answers (1)

former_member200962
Active Contributor
0 Kudos

I hope you are using a mapping program in your scenario...

When you define your SYNC OB and IN message interfaces you have the option of specifying the Fault message type in the MI....in this section specify the fault message for both the MIs......then build a Message Mapping between these two fault messages....then you will have one more option of Fault mapping in the Interface Mapping when you say Read Interfaces alongwith Request and Response mappings....in this fault mapping give the above developed fault message mapping.....in this way your fault message should go the Proxy......check if this is what you are looking for...

Regards,

Abhishek.

Former Member
0 Kudos

Excellent,

thanks a lot... now the only problem is how to get to definition of the standard soap fault that the provider throws...

its not in the wsdl.

Is there a standard definition for this ?

Thanks.

Former Member
0 Kudos

Hi Thierry,

If you want to get the fault respone message populated with system/appliaction error from the webservie service provider, the logic needs to be hadlled in and by the webservie service provider.

Regards,

Sunil.

Former Member
0 Kudos

Yes, I know... they already return a standard soap fault message with the data populated in it.

Former Member
0 Kudos

Are you using the wsdl generated by XI or you have imported the service provider WSDL?

If its from XI there is nothing more to do just do the inteface mapping with all the mapping (request , response and fault)

In case you are using the service provide wsdl.... you have to import it into the external definitions of XI.

Needs to create the interface and select the proper message for the interfaces and do the mapping and use it in interface mapping.

Hope its clear

Former Member
0 Kudos

Its from a provider...

I've done the interface part , imported the wsdl into external definition. The problem is for the fault. The wsdl of the provider does not describe the fault message structure.

Thanks.