[Solved] FND_CMN_SERVER_CONN_ERROR in ErpIntegrationService (Oracle Fusion)

As per this document, FND_CMN_SERVER_CONN_ERROR comes when ‘An application error occurred while establishing a connection to the {SERVER}.
Where,
{SERVER} – Data Quality server, UCM server or Oracle Business Intelligence server.

Below is the complete error message.

Failed processing original documents i1i in the Oracle Fusion UCM SOAP
[env:Server] JBO-FND:::FND_CMN_SERVER_CONN_ERROR: <MESSAGE><NUMBER>FND-4</NUMBER>
<TEXT>An error occurred while establishing the server connection to the UCM server. Contact your help desk.</TEXT>
<CAUSE></CAUSE>
<ACTION></ACTION>
<DETAILS></DETAILS>
<INCIDENT></INCIDENT>
</MESSAGE>; ServiceErrorMessage.code=FND:::FND_CMN_SERVER_CONN_ERROR; ServiceErrorMessage.message=JBO-FND:::FND_CMN_SERVER_CONN_ERROR: <MESSAGE>
<NUMBER>FND-4</NUMBER><TEXT>An error occurred while establishing the server connection to the UCM server. Contact your help desk.</TEXT>
<CAUSE></CAUSE><ACTION></ACTION><DETAILS></DETAILS><INCIDENT>
</INCIDENT></MESSAGE>; ServiceErrorMessage.severity=SEVERITY_ERROR;
ServiceErrorMessage.exceptionClassName=oracle.apps.fnd.applcore.messages.ApplcoreException

This error message does not give any other information except a generic error message as shown above.

FND_CMN_SERVER_CONN_ERROR solution

FND_CMN_SERVER_CONN_ERROR is related to malformed input XML Payload to the ImportBulkData process like duplicate file name, space or extra comma, trailing ‘/’ in job path.

Verify and correct the input XML payload to resolve this error.

Let me elaborate,

Consider the sample payload as shown below.

<?xml version='1.0' encoding='UTF-8'?>
<ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
  <ns1:Body>
    <ns2:importBulkData xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/" xmlns:ns3="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">
      <ns2:document>
        <ns3:Content> </ns3:Content>
        <ns3:FileName>ApAutoinvoiceImport_20200412045733.zip</ns3:FileName>
        <ns3:ContentType>zip</ns3:ContentType>
      </ns2:document>
      <ns2:jobDetails>
        <ns3:JobName>/oracle/apps/ess/financials/payables/invoices/transactions,APXIIMPT</ns3:JobName>
        <ns3:ParameterList>#NULL,#NULL,N,#NULL,#NULL,#NULL,1000,AP Invoice,#NULL,N,N,US LEDGER USD,#NULL,1</ns3:ParameterList>
      </ns2:jobDetails>
      <ns2:notificationCode>00</ns2:notificationCode>
      <ns2:callbackURL>#NULL</ns2:callbackURL>
    </ns2:importBulkData>
  </ns1:Body>
</ns1:Envelope>

You should verify,

FileName
The file name should be unique. What this service does, it uploads the input file with the name given in Oracle UCM Server. When you pass the duplicate file name, it fails.
So simply use date suffix in the format like YYYYMMDDHHMMSS to make the file name unique e.g ApAutoinvoiceImport_20200412045733.zip used in sample payload.

JobName

Verify the job name carefully. There should not be extra space, comma or spelling mistake.

Oracle gives jobpath name as /oracle/apps/ess/financials/payables/invoices/transactions/ and job name as APXIIMPT for Import Payable Invoice program.

Remove the trailing ‘/’ from the job path name while

Incorrect way of passing job name,

<ns3:JobName>/oracle/apps/ess/financials/payables/invoices/transactions/, APXIIMPT</ns3:JobName>

Correct way of passing job name

<ns3:JobName>/oracle/apps/ess/financials/payables/invoices/transactions,APXIIMPT</ns3:JobName>

ParameterList

The sequence of the parameter is also important. There should not any extra space or comma and make sure to pass #NULL for the parameter which accepts the NULL value.

I hope you found this article useful. Please share.