cancel
Showing results for 
Search instead for 
Did you mean: 

Fault Code Error handling through BPM

Former Member
0 Kudos

We have a BPM Scenario with SOAP Call. How do we handle the Fault Code Mapping to the source system. SAP says it's not possible with Exception Mapping. But is there any other means of achieving the functionality.

Proxy to XI (BPM) SOAP (Sync)

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I've had a similar issue previously. Unfortunately, I wasn't able to map anything from the fault message when I needed to return a status to the initiating system. The way we managed it was to have the SOAP call never return a technical fault message - it would be a successful response with fault data (no use of the fault message type).

Former Member
0 Kudos

Thanks Mike,

In our case, it's mandatory to send message back to the source system. I am just looking for other alternatives.

Like FORK 2 branches, regular or fault message goes to both the mappings, one fails obviously and the other one is successful. Sounds stupid, that is the reason i am weighing my options here

Former Member
0 Kudos

Right, we had the same problem. So instead of having the web service respond with a actual fault message type (which would be caught by your exception branch), we defined the response message type so that it would return the fault message data. Then all you have to do is look to see if the fault data is populated and then return that back to the source.

Former Member
0 Kudos

Can you elaborate the steps involved in detail please. Appreciated in advance

Former Member
0 Kudos

Mike Any help

Former Member
0 Kudos

Hey sorry I've gotten busy with some stuff at work. I'll try to spend some time on this later this evening.

Former Member
0 Kudos

Are you trying to grab the SOAP fault message? If yes, then use :-

SOAP receiver channel -> Module tab -> Module Configuration -> Parameter Name "XMBWS.NoSOAPIgnoreStatusCode" -> Parameter value "true". The module key will be the same that you are using for "sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean".

In this case, you don't need to use the fault message type and you can map / send this SOAP fault message to sender.

Regards,

Neetesh

Former Member
0 Kudos

Niteesh

thanks for the reply

I have BPM with Switch (4 Steps), Can you explain the steps on how to add the steps to the BPM.

Also do i need to have 4 Mappings for each, or it can be one mapping and one BPM step can handle the Fault Code Payload?

Former Member
0 Kudos

Add a switch step which should be the first step after receiving the response. In that switch, check the xpath condition for "//*[local-name()='faultcode']" against a condition variable, say A. in the condition editor, you can use EX A.

When the condition is false, add all the steps in the otherwise branch. All the steps (switch etc) that you want to do with the response, will be a subset of this first switch condition that I mentioned in the beginning.

I am unable to understand what 4 mappings you are talking about?

Former Member
0 Kudos

my Switch already have 4 steps based on conditions already.


                   - Transformation >> *Send* >> Transformation
Receive >> Switch  - Transformation >> *Send* >> Transformation      >>>>>>> Final Send
                   - Transformation >> *Send* >> Transformation
                   - Transformation >> *Send* >> Transformation

the soap sync quoted with *

In this scenario, how do include fault code mapping?

Former Member
0 Kudos

Since you are having 4 sync send steps, you will have to check for fault message in all the 4 responses.

Former Member
0 Kudos

means, after sync send, have another switch with 2 branches, one with condition for fault code and the other one for the regular message? for each sync send in 4 branches

Former Member
0 Kudos

Yes.

Former Member
0 Kudos

Thanks neetesh. will get back to you, if i come across any issues. Thanks for all ur help

@Mike, Thanks for the help. I guess by evening, if you have something more to add, please do so

Appreciated u guys

Former Member
0 Kudos

Neetesh

After setting that param, i am still seeing the fault code with an error in Moni with Square Red Flash icon. Is there any other options, do i need to select? Please advice

Former Member
0 Kudos

What is the error message in MONI ?

Former Member
0 Kudos

Application Error

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>application fault</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="http://its.iegm.gov.tr/bildirim/BR/v1/Uretim">BildirimHata</SAP:ApplicationFaultMessage>

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Former Member
0 Kudos

Yes, this error makes sense because you are missing something in IP. Have you did the transformation step (on how you want to send response to sender)?

Former Member
0 Kudos

I am back with problems

I set the following parameter XMBWS.NoSOAPIgnoreStatusCode = true, still i am seeing the Flash Red icon when receiving the fault code.

I have all the maps implemented to handle the fault code mapping, had switch with in BPM where condition says Fault Code Node Exists or not. Else conditions handles the regular maps.

Now how do i receive the fault code response as payload. Which i am not getting it work with above the param. Is there any other settings do i need to select with in my SOAP Channel? Please advice

Former Member
0 Kudos

any advice on why the fault message not returning as a payload by adapter?

Former Member
0 Kudos

in the BPM, i am using interface's as Async to Sync to Async. Does this work for with this kind of scenario. Or do i need to change my interface mapping to reflect Sync scenario, which will contain all the request/response/fault in one interface map?

Please advice

Former Member
0 Kudos

The above parameter should work in your scenario.

Former Member
0 Kudos

That's right, but i have gone through several notes to findout what's causing this to fail.

I even check with the following notes to make sure we have all the latest in XI 3.0

Note 1055678 - XI 3.0 soap receiver in nosoap mode with HTTP status code

Still not working as expected, any further info

Former Member
0 Kudos

I am reposting the same issue in order to get the attention, please advice

I set the following parameter XMBWS.NoSOAPIgnoreStatusCode = true, still i am seeing the Flash Red icon when receiving the fault code.

I have all the maps implemented to handle the fault code mapping, had switch with in BPM where condition says Fault Code Node Exists or not. Else conditions handles the regular maps.

Now how do i receive the fault code response as payload. Which i am not getting it work with above the param. Is there any other settings do i need to select with in my SOAP Channel? Please advice

Former Member
0 Kudos

I confirm: XMBWS.NoSOAPIgnoreStatusCode = true DONT work. Is there a solution to obtain a fault message as a payload in BPM?

Edited by: N.V. Yasinskiy on Apr 29, 2011 12:55 PM

Answers (1)

Answers (1)

Former Member
0 Kudos

Found no solution