Error:
No user key can be used for Integration Component instance 'IC NAME'.(SBL-EAI-04397)
Cause:
In this case the behavior was encountered on Siebel CRM 8.1 release, where customer had another definition of the same IO deployed in the run time database. The IO deployed in the run time database was later amended to incorporate some changes in the user key fields.
Next 'EAI Siebel Adapter' was invoked with a SiebelMessage corresponding to the amended/latest IO definition, which was compiled in the srf but not re-deployed in the runtime database.
Since in version 8.1, IOs are first read from the cache and then from the SRF, this made 'EAI Siebel Adapter' to ignore the amended IO definition and throw the user key error.
From experience gathered, it is seen that similar incidents can often arise when the "Deploy the Integration Object" checkbox is selected while creating an IO (using the EAI Siebel Wizard). In order to avoid such incidents due to inconsistent IO definition, it is recommended to keep the "Deploy the Integration Object" checkbox unchecked (the default value).
Solution:
The error could be avoided either by :
1. Re-deploying the latest IO definition in the runtime database.
Steps :
1. In the Object Explorer in Siebel Tools, select the latest IO definition.
2. Right-click the integration object name and choose Deploy to Runtime Database.
Or
2. Undeploying the IO so that the latest IO definition is read from .SRF.
Steps :
1. In the Object Explorer in Siebel Tools, select the IO definition.
2. Right-click the integration object name and choose Undeploy to remove it from runtime database.
Source: Oracle (Doc ID 1193654.1)
Comments
Post a Comment