Skip to Content
1

SOAP Sender validation error text

Jul 10, 2017 at 01:59 PM

388

avatar image

Dear all,

I am using SOAP sender scenarios on a process orchestration 7.4 with the latest SP. I have xsd validation activated in the iFlow. Now I remember that a long time ago (I think somewhere around PI 7.11) we got back meaningful XML parser errors in the response message from PI, so that a web service consumer could easily analyze what went wrong and correct the sent XML.

But since update to 7.3 (I think) all we get back in case of synchronous validation errors is:

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP:Body>
      <SOAP:Fault>
         <faultcode>SOAP:Server</faultcode>
         <faultstring>Server Error</faultstring>
         <detail>
            <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
               <context>XIAdapter</context>
               <code>ADAPTER.JAVA_EXCEPTION</code>
               <text>See log trace with id: n/a</text>
            </s:SystemError>
         </detail>
      </SOAP:Fault>
   </SOAP:Body>
</SOAP:Envelope>

You can see the <text> information is absolute meaningless, not even pointing to a logID anymore.

So my question is: Is there a way to get back meaningful validation errors of the parser in the text field? It was like that before, so maybe there is a way to achieve this in customizing or with some hidden adapter module setting?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Evgeniy Kolmakov Jul 10, 2017 at 02:25 PM
3

Hi Peter!

Please refer to SAP note:

2293430 - Processing error response at sender SOAP adapter

Symptom

When a third party application is sending a synchronous SOAP request, it expects a proper error response(if something fails in the message processing like, XML Validation) to understand the root cause. But with the recent changes in SOAP sender adapter(while writing SOAP fault message), the complete error information has been masked. Due to this, the 3rd party applications will not receive any error information instead, we are requesting to see the error log (in NWA traces) for the error information.

Solution

Code changes have been made in the sender side processing of SOAP adapter to consider only the root cause of the error while sending the error response back. For this, you have to configure a module parameter "XMBWS.AllowErrorResponse" with value "true" (both without quotes) under the SOAP adapter module i.e., XISOAPAdapterBean.

By default, the value is set to false and SOAP sender adapter will not send any kind of information to the sender system.

To get this correction available in your Support package you need to apply the patch matching to your support package version as per the instructions in the NetWeaver Support Package Stack guide which can be found on the SAP Service Marketplace as described in SAP Note 952402.

Regards, Evgeniy.

Share
10 |10000 characters needed characters left characters exceeded
Peter Chezowitch Jul 14, 2017 at 09:04 AM
0

Thank you very much Evgeniy, this helped a lot!

Is there a central place where we can see per adapter all those scattered module parameters? It seems there are a lot of these XMBWS parameters in the SOAP adapter for example. But I would not know where they are coming from or where I would look them up centrally.

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Neither would I, Peter! From time to time I find one or another parameter either in SAP notes or in discussions and blogs. I've never seen any document with standard parameters list for each type of adapter.

Regards, Evgeniy.

0