It was initially very hard for me to understand the HTTP Failures when we are trained on SAP PI.I browsed many websites and ended up without success. I will try to simplify the two most common HTTP Errors by elucidating the concepts in the nutshell. Blog does not cover the HTTP Errors in detail but just gives the basic understanding for any new PI developers.
In this blog we are going to discuss about HTTP Errors while Non SAP system sending Sales Orders to SAP System:
Interface Description:
The PI implementation will broker the transaction and transform the Sales Order in the form of XML and send to SAP application. This is a an asynchronous interface to ECC. The following information describes the interface technically
1. Inbound Orders from Non SAP into SAP for both customers X and Y.
2. Non SAP will convert X Y EDIFACT format into ECC IDoc format
3. SAP PI to Receive via Secure Protcol (HTTPS) the Orders05 Idoc in XML
4. SAP PI to send this to SAP via Idoc adapter for Idoc Orders05
We have faced two HTTP Failures : HTTP response code 401 Unauthorized & HTTP client code 407 reason ICM_HTTP_SSL Error
Issue 1: HTTP response code 401 Unauthorized
• Business unable to send the file via HTTP and getting error message stating that "HTTP Error 401" while posting sales Orders
Step 1:
• Basis analyzed and found the below error message >> Informed to business.
Figure 2: SSL Error
Step 2:
• Business confirmed that there is inconsistency between files at OS level and database. They have synchronized those files and checked again the NON SAP certificate. Confirmed by business stating that's it is already installed.
• Basis re-imported the SSL certificate to the system of Production DB. Informed business to check it.
• Still the issue persists, Basis restarted the ICM.
Issue 2: HTTP client code 407 reason ICM_HTTP_SSL Error
- There are two X_ORDRSP and Y_ORDRSP failures due to HTTP client code 407 reason ICM_HTTP_SSL failures. Informed to basis team to verify the SSL authentication.
Figure 3: ICM_HTTP_SSL_ERROR
Resolution 1:
- Basis re-imported the certificate from OS level and restarted the ICM. Issue resolved.
We have also checked from PI perspective, all the Sales Orders posted successfully from Non SAP system to SAP ECC system. As well as, we have received Order Response from SAP ECC system to Non SAP system. Attached Screenshot below for your reference:
Figure 4: Processed IDOC
TIPS:
Error Codes:
An error that occurs when a function is executed can be recognized in the HTTP status code.
HTTP Status Code | Meaning | Used For |
200 (OK) | OK, information or component was delivered, transferred, changed, appended, or deleted | info, get, docGet, update, append, delete, putCert, search, attrSearch |
201(created) | OK, component(s) created (if create was used) OK, all documents created (if mCreate was used) | create, mCreate |
250 (missing documents created) | OK, all missing documents were created | mCreate |
400 (bad request) | Unknown function or unknown parameter | All functions |
401 (unauthorized) | Security breach | info, get, docGet, create, update, append, delete, mCreate, search, attrSearch |
403 (forbidden) | Document or component already exists | create, mCreate |
404 (not found) | Document, component, or content repository not found | info, get, docGet, update, append, delete, search, attrSearch |
406 (not acceptable) | Certificate not recognized | putCert |
409 (conflict) | Document, component, or administration data inaccessible | info, get, docGet, append, update, delete, search, attrSearch |
500 (Internal Server Error) | Internal error on Content Server | All functions |
If an error occurs, the content server must deliver an ASCII string describing the error. The error must be entered in the header field X-ErrorDescription.