cancel
Showing results for 
Search instead for 
Did you mean: 

Design question about the Error Handling for failures in PI

Former Member
0 Kudos

Hi,

We wanted to know how you guys are handling (or will handle if asked) error handling for below scenario:

We have sync scenario (soap-jdbc) from a web which sends a request to PI to call SPROC in DB and need to send the response back to web. This scenario works fine as long as there are no errors in PI. However if message fails in PI, Web is giving "We are sorry...." exception as part soap exception. We want to send some graceful message back to web if message fails in PI as similar to we send response from SPROC. Lets say if message fails because of mapping, sending response as "Message failed in PI with the error: error from PI". How to implement this in PI?

I think Alerts is not an option here as we don't want to send an email to anyone but we want to send back response to Web Services as message failed in PI immediately as user is waiting in front of screen.

Regards,

N@v!n

Accepted Solutions (1)

Accepted Solutions (1)

former_member181985
Active Contributor
0 Kudos

May be you need to use BPM with Sync-Async bridge pattern by handling mapping error within BPM and then send static response back to sender.

Answers (3)

Answers (3)

Former Member
0 Kudos

HI,

Did you find any solution for this? we are also at the same scenario to implement error handling.

We had proxy to soap syncronous interfaces which return application faults in response if anything wrong in target system.

Now the requirement is to send any mapping errors or missing fields in payload back to sender as application fault without distrubing the exisitng setup.

any inputs you guys implemented will be of help.

Thanks.

Former Member
0 Kudos
iaki_vila
Active Contributor
0 Kudos

Hi Navin,

If PI is down clearly is impossible to produce an answer. The only solution for this issue is to reduce the possible causes of error.

1. To use the PI XML validation in order to avoid mapping erros.

2. With the XML validation the unique problem could be in the receiver side, but you can control this point with the PI fault messages. Check this links:

     a) SAP HELP documentation: http://help.sap.com/saphelp_nwpi711/helpdata/en/48/5946db5f693912e10000000a42189b/content.htm

     b) Jhin Shin's blog that deals with the SOAP Fault Response: http://scn.sap.com//people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap...

     c) Shabarish's blog with the Abap Server Proxies fault messages handling http://scn.sap.com//people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1

Regards.

udo_martens
Active Contributor
0 Kudos

This answer is not matching the question.

If you want to send an error message back to the sender you need to build a Business Process with exception branches. In certain error situations you jump into that branches. The branches themselv react corresponding. For example sending back an explaning error text.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

are you sure this is required? Can't you just define a mapping for the fault message in a synchronous scenario? There you should be able to deal with special (and known) exceptions accordingly, either by UDF, Fixed Value mapping or graphical mapping. I would presume that BPM and error branches are more appropriate in an asynchronous case.

Regards,

Jörg

baskar_gopalakrishnan2
Active Contributor
0 Kudos

> Can't you just define a mapping for the fault message in a synchronous scenario?

Fault message structure purpose is to handle only application error messages. This will not solve your requirement. If you need to capture the system errors or mapping errors then might have to follow Udo and Praveens reply. Use ccbpm and catch exception through a dedicated exception branch and there you can customize some meaningful message and send it to the sender system. 

udo_martens
Active Contributor
0 Kudos

Hi Jörg,

You can define a mapping for error cases, but it is actually the nature of mapping errors that something unexpected happen. And then the mapping will fail, the response will not be delivered. You ll get a red flag in MONI, but the soap sender will get nothing.

Regards,

Udo