Skip to Content
0
Mar 13, 2013 at 02:48 PM

PI 7.3 validation for sync scenario using HTTP

113 Views

Dear all,

I am working with a synchronous HTTP <-> PI <-> RFC on PI 7.3.

In the scenario I am using the validation by adapter option.

When I am using the HTTP adapter and classic configuration, in case of invalid payload being sent I am receiving back a clear error from the parser:

  <?xml version="1.0" encoding="UTF-8" standalone="no" ?> - <Error>- <Details>- <![CDATA[ <SAP:Error><SAP:Category>XIServer</SAP:Category><SAP:Code>XML_VALIDATION_INB.CX_XMS_SYSERR_VALIDATION</SAP:Code><SAP:P1>com.sap.aii.utilxi.xmlvalidation.impl.XMLValidationException: XML Validation for payload with root element name message_root , target namespace http://www.root.net Failed!Errors Encountered During Parsing 1.cvc-enumeration-valid: Value 'fufu' is not facet-valid with respect to enumeration '[TECL, STRD]'. It must be a value from the enumeration.2.cvc-type.3.1.3: The value 'fufu' of element 'RapidPriority' is not valid.</SAP:P1><SAP:P2>XML Validation for payload with root element name message_root , target namespace http://www.root.net Failed!Errors Encountered During Parsing 1.cvc-enumeration-valid: Value 'fufu' is not facet-valid with respect to enumeration '[TECL, STRD]'. It must be a value from the enumeration.2.cvc-type.3.1.3: The value 'fufu' of element 'RapidPriority' is not valid.</SAP:P2><SAP:P3>Schema Not Available in Cache, try to validation with file system schemas. Validation With File System schemas also Failed. XML Validation for payload with root element name message_root , target namespace http://www.root.net Failed!Errors Encountered During Parsing 1.cvc-enumeration-valid: Value 'fufu' is not facet-valid with respect to enumeration '[TECL, STRD]'. It must be a value from the enumeration.2.cvc-type.3.1.3: The value 'fufu' of element 'RapidPriority' is not valid.</SAP:P3><SAP:AdditionalText>not used at the moment.</SAP:AdditionalText><SAP:Stack>System error occurred during XML validation</SAP:Stack></SAP:Error>  ]]>   </Details>  </Error>

After changing the scenario to integrated configuration using the HTTP AAE adapter, I am receiving a response to the same error in such a way:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> - <Error>- <Details>- <![CDATA[ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>  <title>Error Report</title>  <style>    td {font-family : Arial, Tahoma, Helvetica, sans-serif; font-size : 14px;}    A:link {color : #0059AA;}    A:visited {color : #999999;}    A:active {color : #999999;}  </style></head><body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0">  <table width="100%" cellspacing="0" cellpadding="0" border="0" align="left" height="75">    <tr bgcolor="#FFFFFF">      <td align="left" colspan="2" height="48"><font face="Arial, Verdana, Helvetica" size="4" color="#666666"><b>  500   Internal Server Error</b></font></td>    </tr>    <tr bgcolor="#3F73A3">      <td height="23" width="84"><img width=1 height=1 border=0 alt=""></td>      <td height="23"><img width=1 height=1 border=0 alt=""></td>      <td align="right" height="23"><font face="Arial, Verdana, Helvetica" size="2" color="#FFFFFF"><b>SAP NetWeaver Application Server </b></font></td>    </tr>    <tr bgcolor="#9DCDFD">      <td height="4" colspan="3"><img width=1 height=1 border=0 alt=""></td>    </tr>  </table>  <br><br><br><br><br><br>  <p><font face="Arial, Verdana, Helvetica" size="3" color="#000000"><b>  Error: ERROR_IN_MODULECHAIN;ERROR_IN_MODULECHAIN, senderChannel &#39;2da99c2347883de1901ec9bd42dbf208&#39;: Catching exception calling messaging system</b></font></p>  <p><font face="Arial, Verdana, Helvetica" size="2" color="#000000"><b>  <a href="https://wiki.sdn.sap.com/wiki/x/wIN3Cw">SAP Technology Troubleshooting Guide</a></b></font></p>  <p><font face="Arial, Verdana, Helvetica" size="2" color="#000000"><table>    <tr>      <td valign="top"><b> Details:</b></td>      <td valign="top"><PRE>No details available.</PRE></td>    </tr>  </table></font></p></body></html>  ]]>   </Details>  </Error>

As you can see after changing to HTTP AAE I am not receiving a clear parser error back. Instead a generic internal server error is being thrown.

This is a disadvantage for the Sender who does not know which part of his message was in error.

Maybe somebody can give me a hint how to get back the parser message on the HTTP AAE adapter instead of the generic message.