IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Siebel Business Applications > Troubleshooting and support
Solutions to some common problems
Solutions and workarounds to some problems you may encounter while running WebSphere Adapter for Siebel Business Applications with your database are provided. These problems and solutions are also documented as technotes on the Software support website.
For a complete list of technotes about WebSphere Adapters, see http://www-1.ibm.com/support/search.wss?tc=SSMKUK&rs=695&rank=8&dc=DB520+D800+D900+DA900+DA800+DB560&dtm.
The adapter may time out based on the default timeout value set on the Siebel application
ProblemThe default timeout value for connections set on the Siebel application is approximately 45 minutes. Any connection that is idle (without any transactions coming in) for more than 45 minutes will be timed out. There is no way for the adapter to know this, because the adapter only gets the connection from the container. After it fails, the adapter generates a CommException exception back, and the corresponding connection is removed from the pool.
CauseIf the adapter has been idle for more than 45 minutes, it will time out. Also, if the container sends the adapter an invalid connection, the adapter will fail.
Solution and WorkaroundIf there is a possibility that the adapter remains idle, without any transactions coming in for 60 minutes, increase the timeout value on the Siebel business application to a higher number (for example, 1 1/2 hours). This ensures that the connections remain valid for a longer period.
If you cannot increase the timeout value, then resend the failed transaction.
Adapter does not check for the required fields to be set when creating Siebel business components
ProblemWhen creating Siebel business components, the adapter does not check to ensure that the required fields are set. If required fields are not set, the Siebel enterprise information system (EIS) generates an error, which is returned by the adapter.
CauseRequired fields are not set.
Solution and WorkaroundUpdate the required attributes as needed based on the Siebel exception message provided by the adapter.
Adapter does not throw exception when the call to a Siebel business service method fails
ProblemWhen the adapter runs a Siebel business service method, it might not throw an exception, even if the transaction fails in the Siebel application.
CauseThis problem occurs because the corresponding business service does not throw an exception but rather returns an empty property set to the adapter. The adapter cannot detect if the transaction was successful, that is, whether the values were updated properly in the Siebel business application. Therefore, the adapter does not throw an exception. Because an empty property set is returned, the adapter returns the corresponding empty top-level business object.
Example scenario: Invalid attribute values are passed through the business object.
For example, if the key (for example, "ID") value does not exist and there is no value set on the business object, a corresponding record does not exist in the Siebel business application for that particular key. The business service method might simply ignore the attribute value, even if it is set on the property set. The method must throw an exception but instead returns an empty property set, so the adapter also returns the empty top-level business object (that corresponds to the property set).
Solution and WorkaroundCustomize the Siebel business service to throw an exception back when failure occurs.
Adapter generates multiple container attributes in the business object for simple link relationships
ProblemMultiple container attributes are generated by IBM WebSphere Adapter for Siebel Business Applications in the parent business object for a simple link relationship between two Siebel business components.
CauseThe adapter generates multiple container attributes for a simple link relationship.
For example, as part of the enterprise services discovery generation, assume you select the Siebel business components Account and Business Address in the Siebel business object Account. The corresponding WebSphere business object generated for the Siebel business component Account includes three container attributes, BusinessAddress, BusinessAddress2, and BusinessAddress3, instead of one. You can confirm that SimpleLink application-specific information is set against the three container attributes.
Solution and WorkaroundEventhough the extra container attributes does not affect the transaction if they are left untouched, remove the unwanted attributes using the business object editor in IBM Integration Designer. Therefore, you have only one of the three attributes (BusinessAddress, BusinessAddress2, and BusinessAddress3). For more information on how to use the business object editor, see IBM Integration Designer Information Center.
The adapter does not generate artifacts properly for all selected Siebel business components
ProblemWhen the adapter generates names for business objects from Siebel business components selected through the external service wizard, it removes special characters, including spaces, from the names. If multiple Siebel business components have the same name after the adapter deletes spaces from the names, the adapter does not generate artifacts properly.
Only one WebSphere business object is generated instead of multiple business objects, even though multiple Siebel business components were selected through the external service wizard.
As an example, consider a Siebel business object called Acc that has two Siebel business components: Bus Addr and BusAddr. Because the adapter deletes spaces from the Siebel business component names to generate the WebSphere business object names, two WebSphere business objects will have the same name: BOAccBCBusAddr. The first WebSphere business object is overwritten by the second one.
CauseWhen generating business object names, the adapter deletes spaces instead of replacing them with Unicode values, as it does for other special characters.
Solution and WorkaroundUse the Generate business object with shorter names option to generate multiple business objects. The naming convention for this option adds a counter to the end of the business object if resulting names will be the same, for example, BusAddr, BusAddr1, and BusAddr2.
The adapter does not generate an exception when the call to a Siebel business service method fails
ProblemWhen the adapter processes a Siebel business service method and the transaction fails in the Siebel application, the adapter might not generate an exception.
CauseThe corresponding business service does not generate an exception to the adapter when the transaction fails, but instead returns an empty property set to the adapter. Because the adapter cannot detect whether the transaction was successful, that is, whether the values were updated properly in the Siebel application, it does not generate an exception. Because it receives an empty property set, the adapter returns the corresponding empty top-level business object.
For example, if the key value, such as ID, does not exist, and there is no value set on the business object, a corresponding record does not exist in the Siebel application for that particular key. The business service method might ignore the attribute value, even though it is set on the property set. The method must generate an exception but instead returns an empty property set, so the adapter also returns the empty top-level business object that corresponds to the property set.
Solution and WorkaroundCustomize the Siebel business service to generate an exception when a failure occurs.
Inbound component of WebSphere Adapter for Siebel Business Applications stops working after the number of event entries passes 10,000
ProblemInbound component of WebSphere Adapter for Siebel Business Applications stops polling and throws some exception.
CauseWebSphere Adapter for Siebel Business Applications uses Siebel API to access the event table. The possible cause for this issue may be:
- You performed a query or search which is trying to return more rows than is allowed in a result set.
- MaxFetchArraySize or MaxCursorSize parameter values may be set too low.
- Maximum Cursor Size property may be set too low for a specific business component.
Solution and WorkaroundFollowing actions can be considered:
- Modify your query or search specification to return fewer rows in the result set. If not user initiated, check any running workflows, scripts, EAI, charts, or reports that may be executing the query.
- Increase the rows allowed in your result set by modifying the value of MaxFetchArraySize or MaxCursorSize. This will affect the entire Siebel business application. For MaxFetchArraySize, values are:
- -9,999 (number of rows)
- 0 (10,000 rows)
- -1 (unlimited rows)
For instructions on the MaxFetchArraySize parameter, see Siebel Bookshelf version 7.5.3 > Siebel Object Interfaces Reference > Interfaces Reference > Business component Methods > Execute Query. For instructions on the MaxCursorSize parameter, see Siebel Bookshelf version 7.5.3 > Siebel Web Client Administration > Configuration Parameters > Data Source Parameters.
Setting DSMaxFetchArraySize to -1 may cause large memory use, growth of the Siebel Object Manager process, and the Siebel Object Manager to crash from memory exhaustion. See Alert 951.
- Increase the number of records requested for a specific business component by modifying the values of Maximum Cursor Size property for the specific business component. This will only affect operations performed on the specific business component. For instructions on how to set the Maximum Cursor Size property in Siebel Tools, see Siebel Bookshelf version 7.5.3 > Object Types Reference > Siebel Object Types.
Adapter does not generate WebSphere business objects for child Siebel business components if the related link is inactive
ProblemThe external service wizard generates WebSphere business objects against the corresponding Siebel business components. If the link that relates the parent business component to the child business component is inactive, the external service wizard does not generate a WebSphere business object for the corresponding child business component.
CauseThe link in Siebel enterprise information system (EIS) for the parent business component to the child business component is inactive.
Solution and workaroundSet the link as Active in Siebel enterprise information system (EIS).
Adapter returns version conflict exception message
ProblemWhen install multiple adapters with different versions of CWYBS_AdapterFoundation.jar, and if a lower version of the CWYBS_AdapterFoundation.jar is loaded during run time, the adapter returns the ResourceAdapterInternalException error message, due to a version conflict.
For example, when install Oracle E-Business Suite adapter version 7.0.0.3 and WebSphere Adapter for Siebel Business Applications version 7.5.0.3, the following error message is displayed "The version of CWYBS_AdapterFoundation.jar is not compatible with IBM WebSphere Adapter for Siebel Business Applications" as IBM WebSphere Adapter for Siebel Business Applications loads file:/C:/IBM/WebSphere/ProcServer7/profiles/ProcSrv01/installedConnectors/CWYOE_OracleEBS.rar/CWYBS_AdapterFoundation.jar with version 7.0.0.3. However, the base level of this jar required is version 7.5.0.3. To overcome this conflict, you must migrate all adapters to the same version level.
SolutionMigrate all adapters to the same version level.
For further assistance, visit http://www.ibm.com/support/docview.wss?uid=swg27006249.
Endpoint application of the passive adapter instance listens to the events when enableHASupport is set to True
ProblemIn the active-passive configuration mode of the adapters, the endpoint application of the passive adapter instance also listens to the events or messages even if the enableHASupport property is set to True.
CauseBy default, in WebSphere Application Server, the alwaysactivateAllMDBs property in the JMS activation specification is set to True. This enables the endpoint application of all the adapter (active or passive) instances to listen to the events.
SolutionTo stop the endpoint application of the passive adapter instance from listening to the events, you must set the alwaysactivateAllMDBs property value to False. The JMS activation specification is associated with one or more MDBs and provides the necessary configuration to receive events. If the alwaysActivateAllMDBs property is set to False, then the endpoint application of only the active adapter instance receives the events.
Perform the following procedure, to set the alwaysActivateAllMDBs property to False.
- Log on to the Process Administrative Console.
- Go to Resources> JMS > Activation specifications.
- Click the activation specification corresponding to the application from the list.
- Click Custom properties under Additional properties.
- Click alwaysActivateAllMDBs.
- Change the value to False.
- Click Apply and OK.
ResultThe endpoint application of only the active adapter instance listens to the events.
Error displayed when using external service wizard
ProblemError is displayed when using the external service wizard.
- Add a Siebel driver file in the Locate the Required Files and Libraries window.
- Click Next and move to the Specify the Discovery Properties window.
- Click Back and go to the Locate the Required Files and Libraries. Then add another Siebel driver file.
- Click Next and move to the Specify the Discovery Properties window.
The Specify the Discovery Properties is not displayed.
CauseThis is an Eclipse limitation for class loading.
SolutionClose the connector project and reopen it to add the Siebel driver files again.
Issues faced while using Oracle Siebel dependency jars 8.1.1.4 (and greater)
ProblemAn end of file error occurred (SBL-DAT-00393). An article on Oracle (article ID 1328941.1) discusses about this issue. If Java Data Bean is using the Oracle Siebel dependency JAR files of version 8.1.1.4 (or 8.1.1.5), the JAR files generate an Unexpected Error at the End Of File when executing the NextRecord command. A bug (# 12641734) is also identified for the same.
SolutionThe issue is resolved in the Oracle Siebel dependency JAR files of version 8.1.1.5 by applying the QF0562 defect fix from Oracle. It is also resolved in the Fix Patch version 8.1.1.6 (and greater).