Skip Headers
Oracle® BPEL Process Manager Developer's Guide
10g Release 2 (10.1.2)
B14448-02
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

A Troubleshooting and Workarounds

This appendix describes Oracle BPEL Process Manager troubleshooting methods.

This appendix contains the following topics:

A.1 Troubleshooting General Issues

The following sections describe possible issues and solutions.

A.1.1 Correcting Validation Errors in Complex Processes

If you have complex processes with validation errors (for example, assign activities with multiple copy rules that are embedded inside several scopes), the recommended method for accessing and correcting these errors is as follows:

  1. Right-click the error and select Go to Source to access the source code that errored.

  2. Review the source code to identify the error.

  3. Click Diagram View and go to the graphical view of the error.

  4. Make corrections in the graphical view.

A.1.2 Handling Long-Running Processes

When a process has long-standing activity and the server time-out value is set to less than the time that has elapsed since the previous dehydration point has been reached, you can see exception messages similar to the following in the Oracle BPEL Server window.

Message handle error. 
An exception occurred while attempting to process the message 
"com.collaxa.cube.engine.dispatch.message.invoke.InvokeIns 
tanceMessage"; the exception is: Transaction was rolled back: timed out; 
nested exception is: java.rmi.RemoteException: 
No Exception - originate from:java.lang.Exception: No Exception - originate 
from:; nested exception is: 
        java.lang.Exception: No Exception - originate from:

As a workaround, increase the transaction-config timeout value in the Oracle_Home\integration\orabpel\system\appserver\oc4j\j2ee\home\server.xml file.

<transaction-config timeout="30000"/>

Oracle Application Server Integration Installation Guide for a detailed description on setting this parameter.

A.1.3 Creating an Empty BPEL Process and Importing a Schema

If you create an empty project (which is common with adapter endpoint projects) and import an XSD file, you cannot deploy the project without editing the project_name.bpel file.

As a workaround, perform the following steps:

  1. Create an asynchronous project.

  2. Leave the client partner link alone (it enables you to import XSDs because it refers to the process_name.wsdl file that has the necessary imports).

  3. Edit the receiveInput receive activity of the client partner link and have it point to the new adapter inbound endpoint in the Partner Link field.

A.2 Troubleshooting Sensors—The Custom Data Publisher

The following sections describe possible issues and solutions.

A.2.1 Poor JMS Performance When Creating or Destroying Connections

Problem

Due to a bug, you can experience poor JMS performance when creating or destroying connections. This can cause a slowdown in the execution of BPEL processes that have JMS data publishers associated with them.

Solution

Use the rollup patch included on the software CD. See the readme file.

A.2.2 Data Publisher Is Not Working

Problem

The custom data publisher is not working.

Solution

  • Make sure that the class file has been generated and that it is in the system classpath. See the obsetenv.bat file for this definition, or the BPEL suitcase.

  • Ensure that you have implemented the data publisher interface.

  • If you compile your data publisher into the system classpath, then you must restart Oracle BPEL Process Manager. You may have made changes to the data publisher without restarting Oracle BPEL Process Manager.

  • It is possible that an exception is being thrown in your data publisher. Check the log file for any exceptions, or temporarily add a try/catch block around all your code. In the catch, print the stack trace. These messages display on the text window that opens when you start Oracle BPEL Process Manager.

A.2.3 Data Publisher Works, But Business Process Runs Slowly

Problem

The data publisher works fine, but the business process runs very slowly.

Solution

There are a couple of options.

First, you can attempt to profile your code. The do-user-sensor-callback statistic in Oracle BPEL Console records how much time is spent publishing sensor data.

Second, you can switch from a custom data publisher to a JMS Publisher. Then, you can deploy a message-driven bean to the application server to publish data whenever data is sent to that particular JMS destination. This decouples data publishing from process execution.

A.2.4 Caching Data in the Data Publisher Is Not Supported

Problem

To improve performance, I want to cache data in my data publisher. Is this supported?

Solution

This is not supported. Data publishers must be stateless.

A.2.5 Unexpected Errors in the Data Publisher

Problem

My data publisher works fine most of the time, but sometimes I get a weird error.

It is possible that your data publisher is experiencing concurrency issues.

Solution

Data publishers must be coded in a thread-safe manner. This means that the Java code must be thread safe as well as the utilization of resources, such as databases or files.

A.2.6 Data Extracted to XML Is Difficult to Work With

Problem

The data I extract is complex XML. It is difficult to work with. Can I do anything to make it simpler?

Solution

While the W3C DOM model is somewhat cumbersome, there are third-party models (such as DOM4J) that make things easier. It is easy to create a DOM4J object from its corresponding W3C DOM object. Another option is to generate JAX-B objects or schema objects for the data you extract. Then you can use the generated Java classes to manipulate data more easily.

A.3 Troubleshooting Oracle BPEL Worklist Application

The following sections describe possible issues and solutions.

A.3.1 Not Able to Log In to the Worklist Application

You cannot log in to the Worklist Application if your information is not available in the identity service. Check with an administrator to verify that your user information is present in the identity system (a file based on LDAP, such as Oracle Internet Directory).

A.3.2 Information Is Displayed in a Different Language

The Worklist Application gets a user's language (locale) preferences from the identity service and displays the information in that locale. If information is displayed in the wrong language, make sure that the user's preference is set to a supported locale. See "Accessing the Worklist Application in Local Languages" for more information.

A.3.3 Dates and Times Are Displayed Incorrectly

The Worklist Application gets a user's timezone preference from the identity service and displays the information in this timezone. Also, the date and time is formatted to suit the language (locale) preference. Make sure that these preferences are correctly specified in the identity service. See "Identity Service" for more information.

A.3.4 The User Is Not Permitted to Perform an Action

You may see an error message that says something like:

"User jcooper is not permitted to perform the action Update on task Loan application for John with id...."

Check if the user has permission to perform the action or if the action can be performed on the task in its current state. You can also check for the following:

  • The task expired between the time the user loaded the page and actually performed the action.

  • The task was updated by another user (such as a manager, owner, or admin) between the time the user loaded the page and actually performed the action.

A.3.5 Expected Task Is Not Listed Under Task Titles

On the Worklist Application home page, under the Title column, if you do not see a task listed that you expected to see, then it may have been modified by another user or by the system.

Another user, such as a manager or group member, may have modified the task by performing any of the following actions:

  • Complete

  • Suspend

  • Request More Information

Also, the filer of the task may have withdrawn (cancelled) the task.

The system can modify a task in the following situations:

  • If the process instance associated with a task was purged or archived, the task is also purged or archived and may not be accessible.

  • If a task expires

  • If a task encounters a system error such as an incorrect assignee

In most of the preceding cases, you can view the task by changing the filters to a broader category (such as Any or All).

A.4 Summary

This appendix describes Oracle BPEL Process Manager troubleshooting methods.