Siebel Community

Welcome to Siebel Community. In this place you can find all the topics related to Siebel. This place is dedicated to provide information about how to implement Siebel CRM application. Siebel Technical/Functional consultants can get information from basics of Siebel CRM to advanced topics like EAI, EIM, eScripting, Workflows, Assignment Manager, Actuate Reports, Territory Management. This place also included Forums and Blogs to help you further.

Wednesday, February 5, 2014

EAI Queue for Error Handling

The EAI Queue provides temporary storage for data in transit between Siebel Business applications and external applications and a means by which to monitor the data exchange. This temporary storage of data can facilitate error recovery in the event that the flow of data to or from Siebel is interrupted. Error Handling mechanism can be configured to push and pop messages from the EAI Queue based on an OOB Business Service “EAI XML Queuing Service”.Each entry in the EAI Queue may contain the following information:

■ XML file containing the data object in transit
■ Processing status of data object
■ Reference ID for data object in external application
■ Additional fields to be used for error information and other external application specific information.

A business service API is also provided to the EAI Queue. This business service contains methods to update information held in the queue and allows other components in the Siebel application, as well as customers, to develop software to use the queue. The business service contains the following methods:

■ AddMessage. Adds an XML data object to the queue.
■ GetMessage. Retrieves an XML data object from the queue.
■ GetStatus. Retrieves processing status of the data object.
■ UpdateStatus. Updates the processing status of the data object.
■ DeleteMessage. Removes an XML data object from the queue.

Steps to Configure an EAI Queue:
1. Navigate to Sitemap –> Integration Administration Screen –> EAI Queue
2. Create a New Record
3. Fill in the name of the EAI Queue e.g., “TEST EAI Retry Queue” without the quotes.

Steps to use / send Error Messages onto EAI Queue:
1. Call OOB “EAI XML Queueing Service” from the Error Handling workflow process to post the error message onto EAI Queue using “AddMessage” method.
2. Pass on the Error XML to the Error Handling workflow which in turn would post it onto the EAI Queue.


Advantages of this Approach:
1. This uses OOB Siebel functionality without extra license to incorporate Error Handling.
2. Number of Custom Objects required to build for Error Handling decreases, thereby increasing performance, reducing development time, easier to debug.
Error exporting Workflow Process/Generating XSDs/exporting XMLs from 8.1.1.10/11 tools. From Siebel 8.1.1.10/8.1.1.11, getting the following error while trying to export workflow process records in Siebel Tools. Error writing XML to file ‘D:\xxxxx.xml’. (SBL-EAI-04262) File could not be created as the directory specified for the file creation is not valid.(SBL-EAI-50228) The reason for this error is enhanced security settings introduced in these patches that allows you write files only in the directories specified with the help of EAIFileTransportFolders parameter. You can read the following My Oracle Support article to find detail about this. What is surprising is that it effect Siebel Client (Thin/Thick) as well as Siebel Tools. In order to fix this problem for Siebel tools and Siebel Thick Client you need to create following entry in Siebel Tools CFG (tools.cfg) and you application cfg [EAIFileTransportConfigSubsys] EAIFileTransportFolders = c:\; You will only be allowed to export Workflows only at the specified paths which in above example means only temp folder in C drive and only in users temp folder in d drive. But where there is will there is way. In order to make it behave normally you can create and entry like this. [EAIFileTransportConfigSubsys] EAIFileTransportFolders = c:\; This will allow export to any directory in C Drive and D Drive (not recommended).You can follow instructions in article for Thin Client. Some might see this as nuisance but I believe this has now become a necessity. You may ask why? Here’s Why? Pre Open UI era customer facing applications (SI) were limited in capability and feature access was controlled based on HI/ SI Mode. With Open UI HI and SI applications have been merged these setting have been introduced to provide us with greater control on what is allowed/disallowed in customer facing applications. As Open UI matures as a product I expect to see many more settings to be introduced to enhance security and control access to features on application basis.