cancel
Showing results for 
Search instead for 
Did you mean: 

making a valid message out of an exception?

Former Member
0 Kudos

Hello.

I have a scenario: ECC (proxy) <-> XI <-> 3rd party (soap - web service).

when I call the WS I sometime get the following exception:

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

<!-- Inbound Message

-->

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

<SAP:Category>XIAdapter</SAP:Category>

<SAP:Code area="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>soap fault: Server was unable to process request. ---> There was an error generating the XML document. ---> The type Ransys.Attentive.Entities.RespondentImportErrors.MissingEvaluatorError was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

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

</SAP:Error>

This is an application error in the 3rd party service, and as they don't handle it - I get their exception back.

I'm using a message mapping - and so I would like to use the text in the SAP:AdditionalText - and pass it on in the mapping.

In that case instead of stopping in the PI, the message will go through to the ECC and the error will pass on.

Is that possible? I thought at first of Fault Message Type - but it seems that it's not intended for this purpose.

Any one did anything like what I described?

Thanks very much for anyone who will try to assist.

Accepted Solutions (0)

Answers (3)

Answers (3)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>Is that possible? I thought at first of Fault Message Type - but it seems that it's not intended for this purpose.

>Any one did anything like what I described?

If there are some business validation exception message, we can handle through fault message type. Even for that target system should support. For this error, target system is the one host webservice and so if they dont send some customized error message at their side, there is no way to handle this. You might want to request the target system.

Former Member
0 Kudos

Hi,

1.Please check the SOAP action in the receiver SOAP channel is correct or not.

2.in addition the SOAP Action you also need to ensure that the message format that you are sending to the SOAP receiver is strictly according to the wsdl that you are using of the SOAP receiver.....this error means that you request went ot the receiver but when it reached the receiver it was not able to consume the payload....and hence it threw back the error in the response....just cross-check and confirm.

regards,

ganesh.

Former Member
0 Kudos

I know what made the error in the 3rd party, but they were supposed to return an applicative error, and not throw the exception back.

What I want to do here is take care of such exception, and pass it on as a an element in the inbound service interface.

that way the message will not stop in the PI, but carry on to the ECC.

It seems that this is not possible.... 😞

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

Target system people have to help here otherwise not possbiel to capture SOAP adapter expection in to string and send ti back ECC.

Request web service team to send error message in to string and accomadate that field in Response message this is the one way to handle.

Regards,

Raj