cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple SOAP fault support in PI?

Shabarish_Nair
Active Contributor
0 Kudos

Hi Guys,

We have a webservice that has multiple SOAP faults as part of the WSDL. Normally a sync WS will have a request, a response and a fault. My question is does PI support multiple faults?

If i look at the SI, it lets me add multiple fault messages. Even in operation mapping, I get the option of doing the multiple mappings for multiple faults. But when I test, it throws up an error mentioning that the mapping does not exist in the cache. If I remove the multiple faults in SI (only provide one fault) and hence the same in OM, it works perfectly fine. But PI doesn't seem to like multiple faults in SI and OM and hence mess things up during runtime.

So does PI really support multiple faults? Can it handle multiple faults being triggered from the target and route it to the source application?

Accepted Solutions (0)

Answers (1)

Answers (1)

Shabarish_Nair
Active Contributor
0 Kudos

anybody, any thoughts?

Former Member
0 Kudos

Hi Shabarish,

we came across the same problem. We are using an external synchronous web service with several operations and map it to a corresponding consumer in some SAP CRM application. Each operation has two or more faults. However, I cannot map more than one fault before at run time the system reports not to be able to find the mapping in the runtime cache.

I agree the system should be able to handle multiple faults and I assume this is a bug. The fact that the error the system reports is apparently not correct points in the same direction.

Did you meanwhile have any new information on this issue?

Did you try ccBPM (just an idea) ..?

I just cannot believe nobody else is having this problem...

regards

Eberhard

Shabarish_Nair
Active Contributor
0 Kudos

the end system changed the WSDL to reflect a single fault as we didn't find a way out.

I guess you could raise an OSS note with SAP to see if they have something in place.

PS: Multiple fault support doesnt seem to be a supported feature. Maybe you can post such ideas and suggest improvements to the product - /people/shabarish.vijayakumar/blog/2011/06/20/idea-place-and-a-case-for-sap-pi

Former Member
0 Kudos

Ok, we analyzed this further and here is one answer:

Synchronous service operations can absolutely handle more than one fault message. We checked this with ABAP-Proxy to ABAP-Proxy and also ABAP-Proxy to SOAP Adapter.

The problem we had before was due to a missing namespace information: in the response the namespace qualifier of the top level tag of the individual fault in the SOAP Envelope was not set.

Here is my hypotheses about what happens: If there are more than one fault messages mapped in an operation mapping, the system must be able to find the correct one. To do that, not only the fault message tag name, but also its namespace must be set precisely in the response message. Otherwise the massage processing stops and a u2018missing mapping programu2019 is reported. Since the correct message mapping corresponding to the actual fault received could not be identified, in the error reported in the message log the system refers to the next best thing it has at that point which is the ID of the operation mapping. However, that is a bit misleading, since the operation mapping itself was found and there is nothing wrong with it.

Hope that helps

Eberhard

Shabarish_Nair
Active Contributor
0 Kudos

i will check this out.

Appreciate the response

0 Kudos

Hi Shabarish,

We do have the similar requirement where we need to handle two fault messages.

We created two separate message mapping and added them in the fault successfully, but in the run time we are getting the below error message. Can you please help us ?

Mapping program is not available in runtime cache: Object ID


~Kishore

katie_doody2
Participant
0 Kudos

Hi, just wondering if there is now support for this?