on 07-28-2010 9:39 PM
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
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).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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?
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?
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>
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
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
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
Found no solution
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
24 | |
11 | |
9 | |
7 | |
5 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.