Skip to main content

No user key can be used for the Integration Component instance 'IO Name' error in Siebel

Error:

Error invoking service 'EAI Siebel Adapter', method 'Update' at step 'Workflow Step Name'.(SBL-BPR-00162)--No user key can be used for the Integration Component instance 'Integration Component Name'.(SBL-EAI-04397)

Steps to Reproduce:

  1. Created new Integration Component in Siebel Tools and set Id field (system default) as the Integration Component User Key.
  2. Created Data map in Siebel Client.
  3. Added a query step in workflow and get the response in Siebel Message process property. (EAI Siebel Adapter, Query)
  4. Added Data Map step and used above response. (EAI Data Transformation Engine,Execute)
  5. Added Update step and used the response of Data Map step. (EAI Siebel Adapter, Update)
  6. Deployed the workflow and run.

On Run received the above error.

Reason & Solution:

From the Workflow instance logs got the Siebel Message value (from Step 3 and 4) and on inspection found out that Id tag was missing. When checked and compare the Id field in Integration component and field which had the tag in Siebel Message, I have found out that Type field was set to System for Id field record. Simply changed it to Data. Complied and tested and error was gone and workflow was working as expected.

Other Reason & Solution:

You have made changes in Integration Component User Keys and compiled and when tested system throwing the same error. Possible reason is that from Siebel Tools Integration Object is 'Deployed to Runtime Database'.

If IO is deployed to runtime database Siebel will read the IO definitions from the database instead of SRF.Just Undeploy (right click on IO name in tools and select the Undeploy option from the menu) the Integration Object and bounse the server or restart the dedicated client. Now as IO is not in runtime database Siebel will read the IO definition from the SRF file (on which new change is compiled).

You will encounter the same behavior (not the error) if you have made modification to XML Tag or IC Filed and changes are not reflecting due to IO is deployed to Runtime Database with old defination.

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Background: Based on the requirements you need to show data or reports on a popup applet. You can invoke popup applet using workflow (below business service will be used in business service step), applet server script or browser script and using vanilla method and setting field user properties. Procedure: Below is the script for calling popup applet through server script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperati...

How to create and publish Inbound Web Service in Siebel based on Workflow

Inbound Web Services: The Inbound Web Service allows an external system to call a Siebel published Web Service. You can publish a business service or a business process as a Web Service and generate a Web Service Definition Language (WSDL) file that an external system can import. The Inbound Web Services can only be published from Siebel C using SOAP-RPC binding. Source: Oracle Docs What Is The Difference Between Web Services and APIs? An API is an interface that allows you to build on the data and functionality of another application, while a web service is a network-based resource that fulfills a specific task. Yes, there’s overlap between the two: all web services are APIs, but not all APIs are web services. Both web services and APIs are — at their core — very useful and very much used today. However, it’s the web services associated with SOAP and/or Service Oriented Architecture which are falling out of favor. Source: NordicApis Process: Prepare the workflow which will serve as Si...