Skip Headers
Oracle® BPEL Process Manager Developer's Guide
10g (10.1.3.1.0)

Part Number B28981-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

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 Setting Properties for BPEL Processes to Successfully Complete and Catch Exception Errors

The values to which you set the transaction-timeout and syncMaxWaitTime properties can impact whether a transaction scope successfully completes or times out and catches exception errors. For example, assume you have two processes:

  • TimeoutSubprocess (A synchronous detail process that includes a wait activity set to three minutes)

  • TimeoutMainProcess (An asynchronous main process that calls the TimeoutSubprocess)

If syncMaxWaitTime is set to 45 seconds (the default value) and transaction-timeout is set to 30 seconds, after 45 seconds the main process continues running and does not successfully complete and catch the following exception error as expected:

com.oracle.bpel.client.delivery.ReceiveTimeOutException

In the domain.log file, the following exception error displays:

An exception occurred during transaction completion:; nested exception is:
javax.transaction.RollbackException: Timed out 
javax.transaction.RollbackException: Timed out

Perform the following procedures for the main process to successfully complete and catch the exception error.

  1. Set the transaction-timeout and syncMaxWaitTime properties as follows:

    Property File Location This Value Must Be... Example
    transaction-timeout SOA_Oracle_Home\j2ee\home\config\transaction-manager.xml Larger than the transaction-timeout value in orion-ejb-jar.xml and the syncMaxWaitTime value. 7200
    transaction-timeout SOA_Oracle_Home\j2ee\home\application-deployments\orabpel\ejb_ob_engine\orion-ejb-jar.xml Less than the transaction-timeout value in transaction-manager.xml.

    Note: You must set all transaction-timeout properties that display in this file.

    3600
    syncMaxWaitTime SOA_Oracle_Home\bpel\domains\domain_name\config\domain.xml

    where domain_name is the name of the domain to which you are deploying.

    Less than the transaction-timeout value in orion-ejb-jar.xml. 240

    This causes the main process to successfully complete and catch the exception error.

A.1.2 Developer Prompt on Windows 2000

The developer prompt on Windows 2000 can fail to display when selecting Start > All Programs > Oracle - Oracle_Home > Oracle BPEL Process Manager > Developer Prompt. This is a known classpath length issue with Windows 2000. For the developer prompt to successfully display, you must shorten your classpath. For example, when you install Oracle BPEL Process Manager, limit the length of the directory path of your Oracle home.

A.1.3 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 and go to the graphical view of the error.

  4. Make corrections in the graphical view.

A.1.4 Handling Long-Running Processes

When a process has a long-standing activity and the server timeout 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 transaction-manager.xml file. For example:

<transaction-config timeout="30000"/>

The location of this file depends on the method by which you installed Oracle BPEL Process Manager:

  • For Oracle Application Server SOA Basic installations, the file is located in SOA_Oracle_Home\j2ee\home\config.

  • For Oracle BPEL Process Manager installations, the file is located in SOA_Oracle_Home\bpel\system\appserver\oc4j\j2ee\home\config.

See Oracle BPEL Process Manager Installation Guide for a detailed description on setting this parameter.

A.1.5 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 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.2 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 Control 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.3 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.4 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.5 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.

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 administrator) 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.