Skip Headers
Oracle® Application Server Release Notes
10g Release 3 (10.1.3.1.0) for Linux x86

Part Number B31014-11
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Contact Us

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

9 Oracle BPEL Process Manager

This chapter describes issues associated with Oracle BPEL Process Manager. It includes the following topics:

See Also:

Section 11.11, "BPEL-BAM Integration Issues and Workarounds"

9.1 Installation and Deinstallation Issues and Workarounds

This section describes the following issues and workarounds:

9.1.1 OC4J Instance Names of 14 or More Characters Cause Oracle BPEL Process Manager Installation Failure

The name of the OC4J instance for the Oracle Application Server middle tier on which you are installing Oracle BPEL Process Manager for Oracle AS Middle Tier must not be more than 13 characters. If the length of the OC4J instance name is 14 or more characters, the BPEL Process Manager Configuration Assistant fails during installation.

9.1.2 Installing Oracle Java Virtual Machine on Linux

If you want to use the CodeCoach and Profiling features of Oracle JDeveloper, you must install Oracle Client Java Virtual Machine (OJVM).

The InstallOJVM script installs OJVM in the specified JDK directory. Once installed, OJVM is the default virtual machine for every new project created in Oracle JDeveloper for the specified JDK.

  1. Go to $ORACLE_HOME/integration/jdev/ojvm_linux_x86.

  2. Run installOJVM, and specify the JDK root directory. For example:

    InstallOJVM $/OraBPELPM/integration/jdev/jdk
    

9.1.3 Use the SOA Basic Install Type Instead of the Oracle BPEL Process Manager for Developers Installation Type

Oracle recommends that you use the Oracle Application Server SOA Basic installation type instead of the Oracle BPEL Process Manager for Developers installation type.

9.1.4 Changes to ant-orabpel.properties Required for Certain Clustering Configurations

For Cold Failover configurations, you must manually edit the ant-orabpel.properties file as follows:

  1. Find the properties http.hostname and j2ee.hostname in

    SOA_Oracle_Home/bpel/utilities/ant-orabpel.properties
    
  2. Set both http.hostname and j2ee.hostname to the virtual hostname.

    See the chapter on active-passive topologies in Oracle Application Server High Availability Guide for more information.

9.1.5 Oracle BPEL Process Manager Clusters Do Not Need to Be Part of an OPMN Cluster

In section "Clustering Scenario and Architecture" of chapter "Oracle BPEL Process Manager Clustering" of the Oracle BPEL Process Manager Installation Guide, the following introductory paragraph appears:J2EE instances on which Oracle BPEL Process Manager is installed and clustered must be part of an OPMN cluster. In this environment, J2EE applications that are part of BPEL applications are automatically deployed to all nodes (if they are up and running) when a BPEL application is deployed.This paragraph can be ignored. Oracle BPEL Process Manager does not need to be part of an OPMN cluster.

9.1.6 Surviving Nodes Do Not Automatically Continue Instance Execution After a Failover

The Oracle BPEL Process Manager Installation Guide incorrectly indicates that upon failover, the surviving nodes automatically continue execution of process instances. The other nodes in the cluster can resume the instances from the last dehydration point. However, instance resumption is not automatic. To resume instances:

  1. Go to the BPEL Processes tab in Oracle BPEL Control.

  2. Click Perform Manual Recovery to initiate a recovery.

If you want to automatically recover instances, it is possible to write a script (for example, a Java client) that connects to the server through a remote method invocation (RMI) and invokes the recovery step through the Oracle BPEL Process Manager API (which is the same method used by Oracle BPEL Control).

See Also:

Oracle BPEL Process Manager Client API Reference for details about using the Oracle BPEL Process Manager API

9.1.7 EJB URL in wf_client_config.xml Is Incorrect After Installation

Do the following to avoid a connection failure error when using the worklist client code:

  1. Go to

    SOA_Oracle_Home\bpel\system\services\config\wf_client_config.xml
    
  2. Locate the entry

    servicesClientConfigurations\ejb\serverURL
    
  3. Make the preceding entry the same as the jndi.url property in

    SOA_Oracle_Home\bpel\utilities\ant-orabpel.properties
    

    with /hw_services appended to it. For example:

    <serverURL>opmn:ormi://hostname:nnnnn:oc4j_soa/hw_services</serverURL>
    
  4. Ensure that the following is in the classpath:

    SOA_Oracle_Home\bpel\system\services\config\wf_client_config.xml
    

9.1.8 Installing BPEL on OID-Associated J2EE

The following preinstallation steps are required for the environment in which you are using the 10.1.3.1 patch and a 10.1.3.1.0 BPEL J2EE standalone installation associated with the 10.1.2.0.2 infrastructure OID.

Note:

For the following preinstallation steps to work, OID must be seeded with workflow-related users running the config tool for workflow before you restart the BPEL server.
  1. Shut down the instance by executing

    opmnctl stopall
    
  2. Back up the jazn.xml file found at

    SOA_Oracle_Home\j2ee\home\config
    
  3. In the same directory, rename jazn.xml.savennnn to jazn.xml.

    This is the jazn.xml file before OID was associated with the J2EE instance.

  4. Confirm that the contents of jazn.xml look something like the following. In particular, note that the entries in bold are as indicated.

    <?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
    <jazn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/jazn-10
    _0.xsd" schema-major-version="10" schema-minor-version="0" provider="XML"
    location="./system-jazn-data.xml" default-realm="jazn.com"/> "
    
  5. Start the instance by executing

    opmnctl startall
    
  6. Install BPEL.

  7. After completing the installation successfully, shut down the instance.

  8. Rename jazn.xml to the new name (to keep as a backup).

  9. Copy back the backed up copy of LDAP jazn.xml as the new jazn.xml.

  10. Start the instance.

  11. For Oracle BPEL Control to work, follow the manual steps required for OID setup with BPEL.

9.1.9 Error Message Can Be Ignored During BPEL Standalone Installation

You can ignore the following error messages for the environment in which you are using the 10.1.3.1 patch and a 10.1.3.1.0 BPEL J2EE standalone installation associated with the 10.1.2.0.2 infrastructure OID.

The operation is unsupported

This message appears when you type the password during installation (in the background console, from where Oracle Universal Installer was invoked).

9.1.10 Deploying BPEL Processes to All Nodes in a Cluster

When following the BPEL process clustering procedures in section "Task 4: Compiling and Deploying the BPEL Process" of Oracle BPEL Process Manager Installation Guide, ensure that you deploy the BPEL process to all nodes in the cluster.

9.1.11 Installation Impact on Adapter Endpoint Activation Topologies

The method by which you install Oracle BPEL Process Manager and Oracle Enterprise Service Bus can impact adapter endpoint activation. Review the following issues before performing an installation.

If you install the following components into the same Oracle home:

  • Oracle Application Server 10.1.3.0

  • Oracle Application Server Patch Set 10.1.3.1

  • Oracle BPEL Process Manager for OracleAS Middle Tier from its own 10.1.3.1 software CD

  • Oracle Enterprise Service Bus from its own 10.1.3.1 software CD

Or, if you install:

  • J2EE and Web Server advanced install type of Oracle Application Server SOA 10.1.3.1

  • Oracle BPEL Process Manager for OracleAS Middle Tier from its own 10.1.3.1 software CD

  • Oracle Enterprise Service Bus from its own 10.1.3.1 software CD

Adapter end point activation is successful for the following scenarios:

  • If Oracle BPEL Process Manager and Oracle Enterprise Service Bus are installed under the same default home OC4J container.

  • If Oracle BPEL Process Manager and Oracle Enterprise Service Bus are installed under the same container (other than the home OC4J container) and under the same default group (as that of the home OC4J container).

See Oracle Application Server Administrator's Guide for details about OC4J groups.

9.1.12 Subsequent BPEL Installations as a Different User Fail To Detect the BPEL Version

When you initially install Oracle BPEL Process Manager as part of the Oracle Application Server SOA Suite installation on Linux, it creates a /tmp/com/collaxa/cube/resources_version.properties version file. If a different user performs a subsequent installation on the same host, the resources_version.properties version file is not overwritten or read. Since the BPEL version cannot be obtained, the ant-orabpel.properties file is not instantiated, causing the second installation to fail.

As a workaround, remove the /tmp/com directory before performing the second installation.

9.1.13 JDK Installation Required to Run IRCA Against an Oracle XE Database

If you run the Integration Repository Creation Assistant (IRCA) to create the Oracle SOA suite repository (dehydration store) in an Oracle XE database, you receive the following error:

ERROR: Cannot find java executable - \bin\java.exe" 
Please verify that the JAVA_HOME is set correctly. 

This is because a Java runtime environment is not installed with the Oracle XE database on Windows. Perform the following procedures to install and configure a Java runtime environment.

  1. Visit http://java.sun.com/javase/downloads/index.jsp.

  2. Download Java SE Development Kit version 1.4 or higher.

  3. Set the JAVA_HOME environment variable as follows:

    • On Windows 2000 — Select Start > Settings > Control Panel > System.

    • On Windows 2003 — Select Start > Control Panel > System.

    • On Windows XP — Select Start > Control Panel, then double-click System.

  4. Select the Advanced tab.

  5. Click Environment Variables.

  6. In the System Variables section, click New.

  7. Provide the JAVA_HOME value for the name, and the path of the Java installation for the value.

  8. Run IRCA.bat.

9.2 Modeling and Design-Time Issues and Workarounds

This section describes the following issues and workarounds:

9.2.1 Cannot Exchange Multipart SOAP Messages Between Oracle BPEL Process Manager and a Remote Web Service

You cannot exchange multipart SOAP messages between Oracle BPEL Process Manager and a remote Web service that is running in either another Oracle BPEL Process Manager or in any other third-party Web service container.

9.2.2 Dragging a Decision Service Icon into a BPEL Diagram Activities Area

As with the other services listed under Services in the Component Palette of Oracle JDeveloper, a decision service must be dragged into one of the Services swim lane. You cannot drag a service into the activities area of a BPEL diagram. However, the interface does not provide a visual indicator that you cannot drag a decision service into the activities area, except that nothing happens.

9.2.3 Decision Service Cannot Be Edited in Oracle JDeveloper

A decision service cannot be edited in Oracle JDeveloper. You must delete and re-create it.

9.2.4 Correlation Sets in Previously Deployed Versions May Be Overwritten

If correlation sets are changed between process versions, then the last deployed version overrides the correlation sets in previously deployed versions. This may be an issue if you have in-flight instances of version 1, followed by a newly deployed version 2, where the correlation set has changed.

9.2.5 Change in HeaderHandler from Release 10.1.2.0.2 to Release 10.1.3.1.0

The HeaderHandler interface from release 10.1.2.0.2 cannot be ported to the 10.1.3.1.0 environment. The following change in the method signature is required:

From this in release 10.1.2.0.2:

public void invoke(CXPartnerLink partnerLink, String operationName, Map payload,
 Map header, Map callProps)

To this in release 10.1.3.0.1:

public void invoke(CXPartnerLink cXPartnerLink, String string, Map map, List list,
 Map map1)

9.2.6 Online Help for Invocation Pattern Operations in a Decide Activity

The Edit Decide window enables you to select the operation of the invocation pattern to perform. The operations available for selection are based on the invocation pattern you selected in the Select a Ruleset or a Function window of the Decision Service wizard. For descriptions of these operations, perform either of the following:

  • Click Help on the Select a Ruleset or a Function window of the Decision Service wizard and go to the Invocation Pattern section.

  • See the "Decide Activity" section in Chapter 18, "BPEL Process Integration with Business Rules" of Oracle BPEL Process Manager Developer's Guide.

9.2.7 WSIF Bindings Generated from Oracle JDeveloper Are Not Interoperable with Oracle BPEL Process Manager

Oracle BPEL Process Manager is not interoperable with Oracle JDeveloper-created WSIF bindings, and cannot support Java beans or XDK JAXB objects passed into Java binding services.

You can select RPC type for the SOAP and WSIF bindings options when generating a Java Web service. The resulting WSDL with Java bindings is interoperable with Oracle BPEL Process Manager. However, this works only if there are no complex type references in the Java code.

9.2.8 BPEL XPath Functions File and Console Link Location

For this release, the xpath-functions.xml file has been moved to the SOA_Oracle_Home\bpel\system\config directory. In addition, the console link to these functions now appears in the Oracle BPEL Admin Console (http:\\hostname:port\BPELAdmin) under the XPath Library link.

9.2.9 Schema Names Do Not Support Multibyte Characters

When you create a BPEL process, the XSD file name does not support multibyte characters.

9.2.10 Creating an Application Server Connection in Oracle JDeveloper with Non-oc4jadmin Users

By default, the oc4jadmin user contains the permissions for creating an application server connection in the Connection Navigator of Oracle JDeveloper and deploying a process to the default BPEL domain or any additional domains you create. If you want to use a different user account (for example, the default user account or a new user account) to create an application server connection in Oracle JDeveloper, you must perform the following procedures:

  • Include the user account in the oc4j-administrators group.

  • Provide the user account with permissions to the domain in which the user is to work.

    See Also:

9.2.11 Running the Adapter Configuration Wizard in Edit Mode Removes Property Aliases in an Empty BPEL Process

Note the following behavior when running the Adapter Configuration Wizard in Edit Mode in an empty BPEL process in which property aliases have been defined.

  1. Create an empty BPEL process.

  2. Create a service with the Adapter Configuration Wizard.

  3. Create a property alias in the Structure Window. The alias is defined in the adapter WSDL file.

  4. Rerun the Adapter Configuration Wizard.

    This removes the property aliases created in Step 3 from the adapter WSDL file.

As a workaround, do not rerun the Adapter Configuration Wizard in edit mode. Instead, directly edit the adapter WSDL file.

9.2.12 Java Class BPELProcessRevisionInfo Has Moved to BPELProcessMetaData

Java class BPELProcessRevisionInfo has moved to BPELProcessMetaData. You can get a handle to the object through IBPELProcessHandle.getMetaData().

9.3 Deployment and Run-Time Issues and Workarounds

This section describes the following issues and workarounds:

9.3.1 Missing ORMI Message

If the ORMI URL used for deployment in your network environment does not use the hostname, but rather uses the localhost (for example, in a DMZ network configuration), then you may see the following error:

...Missing ormi[s]://<host>:<port>

You may need to change the value of the property hostname to the localhost, in

SOA_Oracle_Home\bpel\utilities\ant-orabpel.properties

9.3.2 Directory Reference for File Adapter Not Updating Correctly

In a BPEL process that uses multiple file adapter ports (receives), using the Update Descriptor feature of Oracle BPEL Control to change directory reference information does not update the bpel.xml file correctly. For example, assume the file adapter uses a logical name for the directory path (rather than a physical path), and that after deploying your BPEL process, you want to change from the logical directory property value to the actual physical directory. The update process from Oracle BPEL Control adds a new property with the physical directory value, and the existing property for the logical name remains as well. At run time, the change does not take effect.

You must redeploy a BPEL process that uses multiple file adapter ports if you update directory information for the incoming files using the Update Descriptor feature of Oracle BPEL Control.

9.3.3 Reportees of the Topmost User in a Hierarchy Are Not Always Displayed

This note applies to the topmost user in any hierarchy. The user cdickens (the topmost user in the demo user community) is used in this discussion.

In the Identity lookup dialog, when you select cdickens from the Search user list and click Hierarchy, you see the message "No reportees for cdickens." This is incorrect because wfaulk reports to cdickens. However, when you select cdickens and click Reportees, wfaulk is correctly displayed.

9.3.4 TaskManager Is Not Listed Under Deployed Processes in Oracle BPEL Control

TaskActionHandler and TaskManager should appear as deployed processes in Oracle BPEL Control. If TaskManager does not appear, do the following:

  1. Stop Oracle BPEL Control.

  2. Copy bpel_TaskActionHandler.jar as follows:

    From SOA_Oracle_Home/bpel/install/extensions

    To SOA_Oracle_Home/bpel/domains/default/deploy

  3. Restart Oracle BPEL Control.

9.3.5 Adapter-Based Application Deployment in OracleAS Integration InterConnect-Oracle BPEL Process Manager Environment Throws Exception

You may see the following error message when you deploy an application in an environment in which OracleAS Integration InterConnect publishes a message, using the AQ adapter, and Oracle BPEL Process Manager subscribes to that message.

<2006-09-25 04:10:36,421> <ERROR> <default.collaxa.cube.engine>
<DomainObserverRegistry::notify> Error while notifying observer class
com.collaxa.cube.ws.soap.oc4j.BPELOC4JServlet$1 with aspect class
com.collaxa.cube.engine.observer.ProcessInitAspect
oracle.webservices.provider.ProviderException: No service
@ {http://xmlns.oracle.com/pcbpel/adapter/ic/implement/Item/Is_Item_Available/OA
I/V1}Item defined in the WSDL at
oracle.j2ee.ws.server.provider.ProviderConfigImpl.getServiceName(ProviderConfigImpl.java:312)
. . .

You can ignore the error message. The application deploys and the BPEL process executes successfully.

9.3.6 BPEL Compiler Error When No Partner Link Exists

If you create an empty BPEL process and start creating a partner link by invoking a Java Web service creation wizard, then you will get a compilation error when the partner link has not yet been created.

You can do one of the following instead:

  • Create the Java Web service separate from and before creating the partner link. Use the Create Partner Link dialog box and the Service Explorer to get the WSDL file.

  • Start with a synchronous or asynchronous template and create a partner link. You can subsequently delete the client partner.

9.3.7 Unit Test Does Not Support Iterative Partner Invocations

The generate unit test feature does not work correctly if the BPEL process contains invoke and receive activities in a loop.

9.3.8 OBANT.SH Does Not Handle JSSO Login If the HW_Services Application is JSSO Enabled

In JSSO mode, the deployProcess task (invoked by obant) gets a JSSO login form to fill out as a reply from Oracle HTTP Server. The task does not handle it. The task responds that the task was successfully deployed. However, the hw_services application cannot be JSSO enabled.

9.3.9 ClassCastException Error Message with 10.1.2 Application Server Connections

In release 10.1.2, the connection manager worked in standalone mode and communicated directly with Oracle BPEL Server without establishing an application server context. Consequently, you were prompted for your username and password at deployment.In release 10.1.3.1.0, the connection manager gets username, password, URL and other information from the application server connection. Consequently, you must create an application server connection before an integration connection is built. The data stored in the application server connection is used by the connection manager to deploy business processes. Because the username and password are already known to the application server connection, the connection manager does not prompt you for a username or password at deployment.Because of this change, 10.1.2 connections are invalid in 10.1.3.1.0 and will produce a ClassCastException error message.

9.3.10 Unique IP Address Is Needed to Create an Application Server Connection

In Oracle JDeveloper, when you create a connection to a 10.1.3 application server that has multiple IP addresses, the Test Connection function returns the following error message:

Error getting OC4J Process for: ... : Error connecting to OPMN (is it running?):
 Connection refused: connect

You must specify a unique IP address when creating a connection to the server from Oracle JDeveloper.

9.3.11 Changing IP Requires Manual Deletion of tmp Directory

If you use the chgiphost command, you must also do the following:

  1. Stop Oracle BPEL Server.

  2. Remove the tmp directory, if present.

    SOA_Oracle_Home/bpel/domains/domain_name/tmp/
    
  3. Restart Oracle BPEL Server and redeploy all processes.

In the case of remote cloning, also follow the preceding steps.

See Oracle Application Server Administrator's Guide for information about changing the hostname or domain name of a host that contains any of the middle-tier installation types. The section "Task 8: Redeploy Oracle BPEL Process Manager Applications" describes how to remove the Oracle BPEL Process Manager tmp directory, if it is exists in the cloned instance.

9.3.12 Enterprise Manager Control Does Not Provide Some Oracle BPEL Process Manager Functions

For this release, note the following:

  • Enterprise Manager does not show a custom BPEL page. This is now tracked tracked through OC4J.

  • Enterprise Manager does not show adapter metrics. This is now available in Oracle BPEL Control.

  • Notification parameters are updated using properties. For example, if you want to change the notification service retry default of 3 (to 5, for example), you can add the following property in SOA_Oracle_Home/bpel\system\services\config\wf_config.xml and restart Oracle BPEL Server.

    <property name="oracle.bpel.services.notification.maxattempt" value="5" />
    

    See the chapter on notification service in Oracle BPEL Process Manager Developer's Guide for more information.

9.3.13 Changing Proxy Settings When Referring to an External WSDL When Using Linux

When using Linux, you may see an HTTP 502 error if your BPEL process includes a partner link that refers to an external WSDL. You must configure proxy server settings in opmn.xml as follows:

  1. Run the following command:

    prompt> Oracle_Home/opmn/bin/opmnctl stopall
    
  2. To set the proxy server for BPEL, modify the following lines in the SOA_Oracle_Home/bpel/bin/obsetenv.sh file:

    PROXY_SET="true"
    ...
    if [ "${PROXY_SET}" = "true" ]
    then
        OB_JAVA_PROPERTIES="-Dhttp.proxySet=true -Dhttp.proxyHost=proxy_server_
    hostname -Dhttp.proxyPort=proxy_server_port -Dhttp.nonProxyHosts=localhost|non_
    proxy_host|other_non_proxy_hosts"
    
  3. To set the proxy server for OC4J, modify the following lines for the OC4J module in the Oracle_Home/opmn/config/opmn.xml file:

    <process-type id="oc4j_instance_name" module-id="OC4J" status="enabled">
      <module-data>
        <category id="start-parameters">
          <data id="java-options" value= ...
            -Dhttp.proxySet=true -Dhttp.proxyHost=proxy_server_hostname
            -Dhttp.proxyPort=proxy_server_port
            -Dhttp.nonProxyHosts=localhost|non_proxy_host|other_non_proxy_hosts"/>
        </category> 
    
  4. Restart the OC4J application server:

    prompt> Oracle_Home/opmn/bin/opmnctl startall
    

These instructions are also documented in Oracle Application Server Installation Guide for Linux x86.

9.3.14 Starting Oracle BPEL Process Manager Through Oracle Enterprise Manager

In this release, Oracle BPEL Process Manager is an application named orabpel that resides under the parent OC4J container instance (for example, named home or oc4j_soa). To restart Oracle BPEL Process Manager through Oracle Enterprise Manager 10g Application Server Control Console, you must restart either the parent OC4J container instance in which Oracle BPEL Process Manager is installed or the entire Oracle Application Server instance. This action ensures that all related applications are restarted (such as hw_services for human workflow) and that all deployed BPEL processes display in Oracle BPEL Control.

If you only restart the orabpel or hw_services application, not all BPEL processes are loaded and viewable through Oracle BPEL Control.

9.4 Workflow and Worklist Issues and Workarounds

This section describes the following issues and workarounds:

9.4.1 Manually Configuring Oracle BPEL Process Manager on Oracle Application Server to Support Identity Management

If you want to install Oracle BPEL Process Manager on an Oracle Application Server to use an Identity Management and metadata repository, you must manually configure Oracle Internet Directory as a postinstallation step if the underlying Oracle Application Server is not configured with Identity Management.

If you are using an Oracle Application Server middle tier already configured with Identity Management, do not perform this postinstallation step; configuration is automatically performed during installation.

For example, since the Portal and Wireless middle-tier installation type requires Oracle Internet Directory, configuration is automatically performed during installation of Oracle BPEL Process Manager on this type of middle tier.

Replace the values shown in italics below with ones appropriate to your environment.

  1. Ensure that SOA_Oracle_Home\j2ee\OC4J_BPEL\config\jazn.xml contains the following jazn provider element entries:

    <jazn provider="LDAP" location="ldap://host:port" default-realm="us"> 
       <property name="ldap.user" value="cn=orcladmin"/>  
       <property name="ldap.password" value="!welcome1"/> 
    </jazn> 
    
  2. Ensure that SOA_Oracle_Home\bpel\system\services\config\is_config.xml contains the following provider element entries:

    <provider providerType="JAZN" name="oid"> 
       <connection url="ldap://host:port" binddn="cn=orcladmin" 
                                          password="welcome1" encrypted="false"/>
    </provider> 
    
  3. Ensure that SOA_Oracle_Home\j2ee\OC4J_BPEL\application-deployments\hw_services\orion-application.xml contains the following jazn provider element entries:

    <jazn provider="LDAP" location="ldap://host:port" default-realm="us" > 
       <jazn-web-app auth-method="SSO"/> 
    </jazn>
    
  4. If the bpelportlet.ear Web provider is to be deployed through Oracle Enterprise Manager, manually configure SOA_Oracle_Home\j2ee\OC4J_BPEL\application-deployments\bpelPortlet\orion-application.xml as follows:

    <jazn provider="LDAP" location="ldap://host:port" default-realm="us" > 
       <jazn-web-app auth-method="SSO"/> 
    </jazn>
    

9.4.2 Deploying BPEL Projects with Workflow from Oracle JDeveloper

You must deploy BPEL projects with workflow from Oracle JDeveloper. Do not use a command line tool such as obant. JSP features such as the payload display do not work if command-line deployment is used.

9.4.3 Workflow Names Must Not Include Periods

Do not enter a name that includes periods in the Workflow Name field of the Workflow Pattern window of the Workflow wizard.

9.4.4 Compilation Warning Messages That Can Be Ignored

When you compile a BPEL process with a user task activity, you can ignore warnings similar to the following that appear in the log window of Oracle JDeveloper:

Warning(443):
[Error ORABPEL-10041]: Trying to assign incompatible types
[Description]: in line 443 of
"C:\apr20\integration\jdev\jdev\mywork\Application1\BPELProcess4\BPELProcess4.bpel
",<from> value type "{http://www.w3.org/2001/XMLSchema}anyType" is not compatible
 with
<to> value type "{http://www.example.org}book anonymous type".

This indicates that anyType is being assigned to an anonymous type. These warnings can be ignored. Ensure that the return value of the from-spec query is compatible with the to-spec query.

9.4.5 Deleting an Entire User Task Activity

If you want to delete and re-create a user task activity, perform the following steps:

  1. Go into the diagram view of the BPEL project.

  2. Delete the scope activity and switch activity of the user task activity. These activities were created in the project when you ran the Workflow wizard of the user task activity.

  3. Delete the partner links.

  4. Delete the WSDL/XSD files from the project (recommended, but not required).

  5. Create a new user task activity in which to design the workflow.

9.4.6 Using the Category List in Oracle BPEL Worklist Application

The Category list of Oracle BPEL Worklist Application enables you to select the category of users, groups, or titles to search (Group, Reportees, and others). Note that the values of previous search results are also displayed. For example, assume that you first search on the Group category and that the results are displayed. If you next search on Reportees, then both the initial search results and the next search results are displayed. This is the expected behavior. Use Check All and Uncheck All to do a bulk select or unselect of the selections. Note that both these buttons only appear when there are two or more users in the selected list.

9.4.7 Getting Task Details with the getWorklistTaskDetails API

This issue applies only if you are still using the worklist 10.1.2 APIs.

When you get a task listing, each task object contains only summary information, and not detailed information such as payload, attachments, history, and so on. To get the details of a task, explicitly call the getWorklistTaskDetails() API inside a loop.

Note that looping while getting task details is a resource intensive action. You typically view details one task at a time. Call this method only for the task in which you are interested. Modify your for loop code as follows (adding one extra line to get the task details):

for (int i=0; i<tasks.size(); i++)
  { 
      IWorklistTask thisTask = (IWorklistTask)tasks.get(i); 
      if ( <condition> ) { // task matches some condition 
          thisTask = wlSrvc.getWorklistTaskDetails(ctx, thisTask.getTaskId()); 
          .... 
          Form form = null; 
          form = PayloadFormGenerator.getMappingForm(thisTask); 
          .... 
      } 
  } 

9.4.8 Adding Delays to Task Operations

This issue applies only if you are still using the worklist 10.1.2 APIs.

In some cases, automated clients can perform task operations faster than Oracle BPEL Server. This can potentially result in messages being lost. While this issue is being addressed, the workaround is to add a small delay (about five seconds) between the task operations, as shown in the following example:

client.updateTask(ctx, task);
Thread.sleep(5000); // sleep for 5000 milliseconds
client.customTaskOperation(ctx, taskId, "DONE");

9.4.9 Using the Custom Identity Service Provider Plug-in Sample on the Middle Tier

To use the custom identity service provider plug-in sample on the Oracle Application Server middle tier, you must make the following edits to the build.xml file:

  1. Open the SOA_Oracle_Home\bpel\samples\hw\isplugin\db\build.xml file.

  2. Change line 15 from:

    <pathelement location="${classpath}" />
    

    to:

    <pathelement location="${client.classpath}" /> 
    
  3. Change line 67 from:

    <sysproperty key="java.naming.provider.url" value="ormi://${hostname}"/>
    

    to:

    <sysproperty key="java.naming.provider.url" value="${jndi.url}"/> 
    

9.4.10 Configuring the TaskActionHandler and TaskManager Services to Support SSL

If you configure Oracle BPEL Process Manager for Oracle Application Server Middle Tier with Secure Socket Layer (SSL) support, you must make the following changes to ensure that the TaskActionHandler and TaskManager services load correctly for BPEL processes.

  1. Delete the .bpel_TaskManager_1.0.jar and .bpel_TaskActionHandler_1.0.jar directories under SOA_Oracle_Home\bpel\domains\domain_name\tmp.

  2. Restart Oracle BPEL Server.

These steps recreate the correct service bindings and WSDL files for TaskManager and TaskActionHandler processes and make them available from HTTP/S-based endpoints.

Note:

If your Oracle BPEL Process Manager installation exists as part of a BPEL cluster, you must perform these steps on each BPEL cluster node after you create a BPEL cluster.

9.4.11 Full Path Name Needed for Task Attachment Stylesheet

In the advanced settings of the Task Editor, when you browse for an XSL file to specify for task attachment, the text field accepts the .xsl file name, but not the full directory path. However, without the full directory path, the file is not found at run time and a parsing error occurs.

To avoid a run-time error, first copy the stylesheet to the project workflow directory where the task file is located. Then browse for the stylesheet in the Task Editor.

9.4.12 Recovery from Internal Server Error in Worklist Application

While working in the Worklist Application, you may need to recover from an internal server error. For example, if you are redirected to the login page, but when you relog in, you get an "Internal Server Error" message asking you to click the Back button, then do the following to recover:

  1. Open a Web browser (Internet Explorer 6.0 or Mozilla Firefox 1.0.4.).

  2. Go to the Worklist Application URL:

    http://hostname:portnumber/integration/worklistapp/Login
    
    • hostname is the name of the host on which Oracle BPEL Process Manager is installed

    • The portnumber used at installation (typically 9700 or 8888) is noted in bpelsetupinfo.txt, at

      SOA_Oracle_Home\install\
      

    You can also select Start, then All Programs, then Oracle - Oracle_Home, then Oracle BPEL Process Manager, and then Worklist Application.

  3. Type the username and password, and click Login.

  4. Continue with your transaction.

Note:

This recovery also works for internal server errors after OC4J failover occurs.

9.4.13 Null Pointer Error During UpdateTaskOutcomeandRoute Call

In a human workflow task, if the updateTaskOutcomeAndRoute flag set to false and the updateTaskOutcomeAndRoute method is called on the task, then the following null pointer error is thrown instead of displaying the appropriate error message:

[java] Error in evaluating routing slip.
[java] Error while evaluating the routing slip
@ http://hostname:portnumber/orabpel/default/wfsvc1/1.0/HumanTask1/HumanTask1.task
This routing slip is used by workflow default_wfsvc1_1.0_HumanTask1
[java] Please check the underlying exception and correct the error in the routing
 slip. Contact oracle support if error is not fixable.

The updateTaskOutcomeAndRoute method is not permitted if the corresponding flag is set to false.

9.4.14 Task Definition Within a Human Task Activity Is Not Created Correctly

When you drag a human task activity into a scope activity that includes one other activity (for example, an assign), you may see that the information you supplied to create the task definition does not appear; that is, when expanded, the human task activity appears to be empty.

To get the correct results, do one of the following:

  • Drag an empty activity (essentially a no-op) into the scope, either above or below the activity that is already inside the scope. Then add the human task activity. You can delete the empty activity later.

  • Or, ensure that the human task activity is dropped into the scope first, before any other activities.

9.4.15 Creation Dates Are Required for the Worklist Application Productivity Reports

Although the interface does not indicate that a creation date is required to generate a Worklist Application productivity report, a report is not generated unless you supply a creation date.

9.4.16 The Worklist Application Does Not Support SSO or JSSO Authentication

The Worklist Application is a sample application that does not support SSO or JSSO.

To avoid exposing a non-SSO-compliant application such as the Worklist Application in a production environment, do the following:

  1. Open the SOA_Oracle_Home/j2ee/home/config/default-web-site.xml file.

  2. Comment out or delete the following line that refers to the application:

    <web-app application="hw_services" name="worklistapp" load-on-startup="true"
     root="/integration/worklistapp" />
    
  3. Restart the server.

9.4.17 High CPU Usage When Using a Human Task Activity

In some cases, you may experience a high CPU usage at the database access level when using a human task activity in BPEL. This generally happens if you have a very uneven distribution of task load—say a large number of tasks were created in a short time. This affects the database index behavior. To resolve this issue, your DBA can analyze the relevant tables either periodically (once a day) or when this problem occurs, as follows:

analyze table orabpel.wftask compute statistics;
analyze table orabpel.wfassignee compute statistics; 

9.4.18 Use the Workflow Folder Context Menu (Especially for Form Generation Actions)

Use the workflow folder context menu. The .task level context menus do not work.

9.4.19 Human Task E-Mail Notification Does Not Support Multibyte Contents

The contents of an e-mail notification cannot contain multibyte characters.

9.4.20 Deployment Errors When the Application Server Connection OC4J Instance Name is Incorrect

You receive a BPEL process deployment error if the OC4J instance name in the application server connection is incorrect. For example, assume the connection is configured to use the default OC4J instance of home created with the standalone Oracle BPEL Process Manager for Developers installation option and your SOA environment is actually using the oc4j_soa OC4J instance created with an advanced SOA installation option.

If you receive this error, perform the following steps:

  1. Go to the Connection Navigator in Oracle JDeveloper.

  2. Expand Application Server.

  3. Double-click your application server connection. The Edit Application Server Connection window appears.

  4. Click the Connection tab.

  5. Change the OC4J Instance Name field from the default value of home to oc4j_soa.

  6. Click the Test tab.

  7. Click Test Connection to verify that you connection succeeds.

  8. Click OK.

  9. Redeploy your BPEL process.

9.4.21 Creating a Human Task Activity Inside a Switch Activity

If you create a BPEL process, add a switch activity at the top, then add a human task activity in a case branch of the switch activity, you receive an error during BPEL process compilation.

As a workaround, perform the following procedures:

  1. Add a sequence activity in the case branch of the switch activity.

  2. Add the human task activity inside the sequence.

9.4.22 Human Task Flex Field Mapping Restriction Related to BPEL Process Instances

For human task flex field functionality to work properly, you must perform flex field mapping to the human task payload after deploying the corresponding BPEL process and definitely before creating a process instance. If a BPEL process instance is created before the flex field mapping is performed, then the corresponding task instances do not contain the flex field data and therefore cannot be displayed or searched.

9.4.23 Identity Service Structural Requirements

The "User and Role Properties" section of Oracle BPEL Process Manager Developer's Guide identifies available identity service user properties and requirements for their use. Note the following additional user task escalation requirements for using the identity service.

  • The user title attribute is optional for all types of identity service providers.

  • The user title attribute can be used in an escalation policy to restrict escalations up to a specified manager title.

  • If an escalation policy specifies a manager title at design time, the title must match the user manager title from the user management chain; otherwise, the full management chain for the given user is used.

  • At design time, the wildcard character can be specified in the title pattern to find the first user in the management chain whose title matches the pattern. For example, if you want to escalate the task up to the manager whose title is either Manager, Sr.Manager, or Dev.Manager, you can specify *Manager in the escalation policy. The task is then escalated to the first manager in the chain whose title matches the *Manager pattern. However, if this title is not matched, the full management chain for the given user is used.

See Also:

Chapter 15, "Oracle BPEL Process Manager Workflow Services" of Oracle BPEL Process Manager Developer's Guide for additional details about the identity service

9.4.24 Searchable Attributes in LDAP Implementations

Each LDAP implementation defines a list of searchable attributes. This is usually done by creating an index on an attribute. See your third-party LDAP server documentation for additional details. In release 10.1.3.x, the mapping of a user's manager attribute is not supported. If you need to map such an attribute, you can use Oracle Virtual Directory (OVD).

9.5 Notification Issues and Workarounds

This section describes the following issues and workarounds:

9.5.1 Some E-Mail Attachments Are Corrupted When Using ora:readFile

When sending attachments using ora:readFile, .txt and .html e-mail attachments are corrupted in the received e-mail. No problems occur with other attachment types such as .pdf and .doc attachments.

9.5.2 SMS Notification Requires workPhone Attribute

The SMS notification activity does not accept the mobile attribute of the user. Instead, use the workPhone attribute.

9.5.3 Notification Activity Contents Are Not Visible

If you create a notification activity (email, fax, pager, SMS, or voice) in the design view, and subsequently switch to the source view and return to the design view, then the notification activity, when expanded, appears empty. However, the details you supplied when you created the activity still exist. They appear in the source view, and the process will deploy correctly. If you are adding attachments to the email activity, for which you need to add assign statements inside the generated scope, then the contents of the scope are also not visible in the design view after switching to the source view.

To view the details of any notification or scope activity that appears empty when expanded, double-click the icon to display the activity dialog. To add attachments to an email activity, use the source view.

9.5.4 Role of NotificationServiceFault in 10.1.3

Starting with 10.1.3, a notification is sent to the e-mail server/messaging gateway asynchronously as follows:

  1. The message is first persisted in the JMS queue and database tables.

  2. The message is then asynchronously picked up from the JMS queue and delivered to the e-mail server/messaging gateway.

In case of an error:

  1. The NotificationServiceFault is thrown to the BPEL process/human workflow only for errors that occur during message persistency into the JMS queue/database table.

  2. The error that occurs while sending a message to the e-mail server/messaging gateway is caught and the notification is automatically retried.

Note that in case of an error while sending the message to the e-mail server/messaging gateway, the notification service by default tries to resend the message 3 times in 15 minute intervals. If the notification cannot be sent after 3 retries, the messages are marked as ERROR and message delivery is not attempted again.

Therefore, once the message is delivered to the notification service, the BPEL process/ human workflow task can continue its operation without having to wait for actual message delivery to the e-mail server/messaging gateway.

9.6 Transformation Issues and Workarounds

This section describes the following issues and workarounds:

See Section 9.10.4, "Western European Number Format Issue in Transformations" for a transformation-related issue.

9.6.1 Database Functions with JNDI Names Do Not Work Within a MapTest Window

When you use JNDI names for database functions such as query-database(), lookup-table(), or sequence-next-val(), and try to test the map using the MapTest utility, no output is returned. The workaround is to use a JDBC string, instead of a JNDI name.

9.7 XPath Expression Builder Issues and Workarounds

This section describes the following issues and workarounds:

9.7.1 Hyphens in XPath Expressions

If you use the XPath Building Assistant to create an XPath expression with hyphens (for example, on the Create Copy Rule window of an assign activity), a blue line displays under the hyphenated element and an error message similar to the following appears:

(34) Message part of name xyz-pqr- xyz not found

If the hyphenated elements are nested, the XPath Building Assistant does not allow you to proceed with bpws:getVariableData(). For example:

bpws:getVariableData('ug_in_var','users-and-groups','')

This error is most likely encountered when using the Native Format Builder wizard with the file adapter, where the element name defaults to the hyphenated name of Root-Element.

In addition, if elements have long names that wrap such as root = "publicKeyInfrastructureCertificateAuthorities" and element = "publicKeyInfrastructureCertificateAuthority", XPath expression building also fails. You receive the following error message:

"publicKeyInfrastructureCertificateAuthorities" not found

Instead, click the Expression Builder icon on the Create Copy Rule window to display the XPath Expression Builder window. This window enables you to create an expression that includes hyphens in elements and enables long names to wrap. For example, for hyphens:

bpws:getVariableData('ug_in_var','users-and-groups','/ns2:users-and-groups/ns2 
:user-or-group/ns2:name')

9.7.2 Some Listed XPath Expressions Are Not Appropriate for Human Task Workflow

The XPath Expression Builder does not prevent you from selecting a contextually inappropriate XPath expression. For example, if you try to use bpws:getVariableData() within a task definition (to set early task expiration, for example), rather than the correct XPath expression, hwf:getNumberOfTaskApprovals(), the interface allows you to proceed until you eventually get an error message such as "Failed to initialize the XPath Expression Builder."

9.7.3 Null Pointer Error When Using a String Value in the XPath Expression Builder

When you use a string value in the XPath Expression Builder during a copy operation within an assign activity, the stack trace will show errors. However, the errors can be ignored. There is no loss of functionality.

9.8 Oracle BPEL Control and Oracle BPEL Server Issues and Workarounds

This section describes the following issues and workarounds:

9.8.1 Domain Names Must Be in Lower Case

When you create domains in Oracle BPEL Admin Console, ensure that you only specify names in lower case.

9.8.2 Safari Browser Is Not Supported

Do not use the Safari browser to access Oracle BPEL Control. This browser is not supported. See Oracle BPEL Process Manager Developer's Guide or Oracle BPEL Process Manager Installation Guide for a list of supported browsers.

9.8.3 Oracle BPEL Control Reports

Note the following issues when using Oracle BPEL Control reports:

  • The End Date field format in the Query section is mm/dd/yy for all languages.

  • Activity sensor reports show only variables of type number (for example, integer, double, decimal, and float). Nonnumeric types are not supported for this release. In addition, data is only shown for activity sensors with Evaluation Time set to All in the Create Activity Sensor window of Oracle JDeveloper.

  • If Albany fonts are not installed, fonts may not display properly for Asian languages in graphs (appear as squares). Albany fonts are automatically installed if you select the proper Asian language during installation.

  • When clicking a bar in the performance report graph, the Instances page that appears sometimes does not display the correct list of instances. This is because the service level agreement (SLA) value in decimals is rounded off to the nearest integer. For example, assume there are two instances: one completes in three seconds and the other completes in two seconds. The SLA value is 2.6 seconds. The graph displays one instance in the green portion (indicating that the SLA value was satisfied) and the other in the red portion (indicating that the SLA value was not satisfied). Clicking the red portion does not show any instances. This is because the SLA value is rounded off to three seconds and therefore becomes equal to the completion time of the first instance.

  • The default SLA value is shown in performance reports only when at least one instance of the business process is created.

  • The End Hour field is used only for hourly reports, and not daily or weekly reports. For example, if you enter 07/29/05 as the end date, 22:00 as the end hour, Weekly as the time interval, and 3 as the time interval, the report is generated between 07/08/05 and 07/29/05. Instances in any hour (even at 23:00 or 0:00) are also considered even though the end hour is 22:00. The same case exists for daily reports. Only with hourly intervals is report generation stopped at 22:00 hours.

9.8.4 Some Oracle BPEL Control Reports Are Unavailable with Oracle Lite Database

Process and performance weekly reports are unavailable from Oracle BPEL Control if you are using Oracle Lite Database.

9.8.5 Unable to Delete a Domain or Recreate a Domain with the Same Name

If you are unable to delete a domain or recreate a deleted domain with the same name in Oracle BPEL Admin Console (a message indicates the domain already exists), perform the following steps:

  1. Go to Oracle BPEL Control.

  2. Select the BPEL Processes tab, then select Clear WSDL Cache.

9.8.6 Error in Oracle BPEL Server Window When Reloading a BPEL Process Can Be Ignored

If you can ignore the following error. The class referred to is not being loaded.

***Unable to find class oracle.tip.tools.ide.pm.addin.BPELOptions.
***This object will be loaded as null.

9.8.7 Oracle BPEL Control Displays an Out-of-Memory Error and Oracle BPEL Server Restarts

From Oracle BPEL Control, you may see the following error message, followed by the server apparently restarting and the errors disappearing:

500 Internal Server Error java.lang.OutOfMemoryError: PermGen space" ...

Try changing the MaxPermSize JVM parameter in opmn.xml to a higher value, as in

<data id="java-options" value="-server -XX:MaxPermSize=128M
-ms512M -mx1024M -XX:AppendRatio=3
-Djava.security.policy=$ORACLE_HOME/j2ee/oc4j_soa/config/
java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -D
oraesb.home=/scratch/rxvenkat/soa/atsoa0701/integration/esb
-Dhttp.proxySet=false
-Doc4j.userThreads=true -Doracle.mdb.fastUndeploy=60
-Dorabpel.home=/scratch/rxvenkat/soa/atsoa0701/bpel
-Xbootclasspath^/p:/scratch/rxvenkat/soa/atsoa0701/bpel/lib/orabpel-boot.jar 
 -Dhttp.proxySet=false"/>

9.8.8 Logging In to Oracle BPEL Control Using Oracle Access Manager

Oracle BPEL Control uses the permission grants for users and roles that are provided in system-jazn-data.xml. If you log in to Oracle BPEL Control using Oracle Access Manager (formerly COREid), then the JAZN users and roles must be mapped to users recognized by COREid. The following example uses the OracleAS JAAS Provider Admintool to accomplish this. (The example assumes that the principal name is orcladmin.)

% java -jar jazn.jar -grantperm oracle.security.jazn.realm.CoreIDPrincipal\
orcladmin com.evermind.server.rmi.RMIPermission login

This results in the following configuration in the system-jazn-data.xml file.

<jazn-policy>
  <grant>
    <grantee>
      <principals>
        <principal>
          <class>oracle.security.jazn.realm.CoreIDPrincipal</class>
          <name>orcladmin</name>
        </principal>
      </principals>
    </grantee>
    ...
    <permissions>
      <permission>
        <class>com.evermind.server.rmi.RMIPermission</class>
        <name>login</name>
      </permission>
      ...
    </permissions>
    ...
  </grant>
  ...
</jazn-policy>

See Oracle Containers for J2EE Security Guide for more information on Oracle Access Manager and on granting RMI permission to Oracle Access Manager principals.

9.8.9 Creating BPEL Test Reports in Junit Format

To run BPEL tests, download the following Apache-licensed JAR files.

Note:

You must rename the downloaded JAR files as described in these steps.
  1. Go to http://www.apache.org/dyn/closer.cgi/xml/xalan-j

  2. Download xalan-j_2_7_0-bin.zip from the recommended mirror site.

  3. Unzip the file.

  4. Copy unzip_dir\xalan-j_2_7_0\serializer.jar to SOA_Oracle_Home\bpel\lib\serializer_2.7.0.jar.

  5. Copy unzip_dir\xalan-j_2_7_0\xalan.jar to SOA_Oracle_Home\bpel\lib\xalan_2.7.0.jar.

9.8.10 Error Messages Returned by Oracle Web Services Manager to Oracle BPEL Process Manager

When Oracle BPEL Process Manager services are integrated and authenticated through Oracle Web Services Manager (OWSM), and an authentication or authorization error occurs in OWSM, a generic exception message is returned to the Oracle BPEL Process Manager instance. This message may not adequately describe the error.

9.9 Oracle BPEL Portlets Issues and Workarounds

This section describes the following issues and workarounds:

9.9.1 Oracle BPEL Control Report Portlets

Note the following issues when using Oracle BPEL Control report portlets:

  • To use Oracle BPEL Control report portlets, move the uix2.jar file from SOA_Oracle_Home\bpel\lib to a different directory (for example, C:\OraMidTier\bpel\temp-lib) and include this library path in the SOA_Oracle_Home\j2ee\OC4J_BPEL\config\application.xml file:

    <library path="C:\OraMidTier\bpel\temp-lib"/>
    
  • If you want to map portlet parameters with page parameters in Oracle Application Server Portal, the default value for the Oracle BPEL Control report portlet page parameter Time Interval parameter must always be in capital letters (for example, DAILY, WEEKLY, or HOURLY). Mapping portlet parameters with page parameters is described in section "Step 5: Mapping Portlet Parameters with Page Parameters" of the chapter "Oracle BPEL Portlets" of the Oracle BPEL Process Manager Developer's Guide.

9.9.2 Oracle BPEL Worklist Application Portlets

Note the following issues when using Oracle BPEL Worklist Application portlets:

  • First deploy the Oracle BPEL Portlets through dcmctl or Enterprise Manager, and then run the following script:

    /SOA_Oracle_Home/bpel/system/services/install/ant-tasks/configure_oid.sh
    

    Next manually include the entry <jazn provider="LDAP" jaas-mode="doAsPrivileged"/> in the following file:

    SOA_Oracle_Home\j2ee\OC4J_BPEL\application-deployments\
    provider-name\orion-application.xml
    

    See the Oracle BPEL Process Manager Developer's Guide for instructions on deploying the Oracle BPEL Portlets with dcmctl.

  • To use the Oracle BPEL Worklist Application portlets, move the uix2.jar file from SOA_Oracle_Home\bpel\lib to a different directory (for example, C:\OraMidTier\bpel\temp-lib) and include this library path in the SOA_Oracle_Home\j2ee\OC4J_BPEL\config\application.xml file:

    <library path="C:\OraMidTier\bpel\temp-lib"/>
    
  • Long strings of more than 360 characters in portlet titles are not handled properly

    When specifying parameter values in the BPEL Worklist Portlet and BPEL Worklist Analysis Portlet, do not use long titles such as URL addresses in the Title field of the Display Customization sections. Long titles can disturb the portlet layout and cause the Personalize link in the upper right corner to not work.

  • Worklist portlet title bar does not display the first time

    When you initially install Oracle Application Server Portal, register the Web provider, create an initial page group, and add the Oracle BPEL Worklist Application portlets to the page group, the title bar does not appear. This means you cannot access the Personalize link that appears in the upper right corner of the title bar. As a workaround, create a second page group and add the Oracle BPEL Worklist Application portlets to the group. This group, and all subsequent groups you create, display the title bar and the Personalize link.

  • All task states display in BPEL Worklist Portlet

    When you select All or Previous in the Category list and Assigned in the Status list of the Task Customization sections of the BPEL Worklist Portlet, you see the state of all tasks, not just those identified as Assigned.

9.10 Globalization/Multibyte Character Issues and Workarounds

This section describes the following issues and workarounds:

9.10.1 Ruler Scale Is Not Multibyte-Compliant in the Native Format Builder Wizard

If you select the fixed length file type in the Native Format Builder wizard, the ruler on the Field Lengths window that enables you to specify field length for each record is not multibyte-compliant.

9.10.2 Encoding Issue for ora:readFile

The extended XPath function ora:readFile requires a file directory path as the first parameter. These functions read the specified file by using OS-default encoding. This is not an issue if the specified file is in the local file system. However, if the specified path is a URL, the target file is not always encoded in OS-default encoding.

9.10.3 Installing Oracle BPEL Process Manager for Traditional Chinese on Linux

If you want to install Oracle BPEL Process Manager for use in Traditional Chinese on Linux, you must use zh_TW.big5 instead of zh_TW.eucTW.

9.10.4 Western European Number Format Issue in Transformations

In many Western European locales such as German or French, the default decimal point is a comma (,) instead of the dot (.). In that case, the mathematical function in a transform activity, such as ADD and SUBTRACT, gives an output using the comma as a decimal point, although the input numbers of the function are using a dot.

To work around this issue, add a decimal-format function to overwrite the default format. The following is an example for ADDITION.

<xsl:decimal-format name="usa" decimal-separator="."/>
<xsl:template match="/">
   <tns:Root-Element>
      <tns:Price>
         <tns:price1>
            <xsl:value-of select="/tns:Root-Element/tns:Price/tns:price1"/>
         </tns:price1>
         <tns:price2>
            <xsl:value-of select="/tns:Root-Element/tns:Price/tns:price2"/>
         </tns:price2>
         <tns:price3>
            <xsl:value-of
                select="format-number((/tns:Root-Element/tns:Price/tns:price1 -
                /tns:Root-Element/tns:Price/tns:price2), '#.00', 'usa')"/>
         </tns:price3>
      </tns:Price>
   </tns:Root-Element>
</xsl:template>

9.11 Sample Demos and Tutorials Issues and Workarounds

This section describes the following issues and workarounds:

9.11.1 Missing Content in the readme.txt file for the XAInsert Sample

The following content is missing from the end of the readme.txt file for the XAInsert sample, found at

SOA_Oracle_Home\bpel\samples\tutorials\122.DBAdapter\advanced\dmlInvoke\XAInsert

After "The only way to debug the instance is to switch from using an XA data source to using a non-XA data source," add the following:

However, to set-up a nontransactional data source, if you have

xADataSourceName=""
dataSourceName="loc/BPELSamplesDataSource"

also configure the corresponding data source to have tx-level="local" in data-sources.xml, as in the following example:

<managed-data-source name="DBSamplesDataSource2"
connection-pool-name="dbSample_CONNECTION_POOL2"
jndi-name="jdbc/DBConnection2DataSource" tx-level="local"/>

9.11.2 Further Explanation About the BankTransferFlow and BankTransferFlowWith Compensation Demos

When you deploy the BankTransferFlow or BankTransferFlowWithCompensation demos, and initiate the deployed process from Oracle BPEL Control, you may not find a BPEL instance; rather, the process may appear as a recoverable process. The process was rolled back because the partner link is marked as participating in an XA transaction. Therefore, this is the correct behavior.

9.11.3 No Audit Trail for the BankTransferFlow and BankTransferFlowWith Compensation Demos

After executing the BankTransferFlow and BankTransferFlowWithCompensation demos, no audit trail is available from the Oracle BPEL Control Audit link.

The following error message appears:

Workitem binary deserialization failed. An attempt to deserialize the workitem
 "40015-BpAss5-BpSeq3.3-5" from binary format failed. The exception reported is:
 Scope not found. The scope "BpSeq3.3" has not been defined in the current
 instance.

9.12 Javadoc Errata

This section describes the following issues and workarounds:

9.12.1 ASSIGNMENT_FILTER_ALL Is Not Supported

The following option is not supported in release 10.1.3.1.0 and beyond:

oracle.bpel.services.workflow.query.ITaskQueryService.ASSIGNMENT_FILTER_ALL

The Java documentation lists ASSIGNMENT_FILTER_ALL as one of the filters, but the service does not support this filter.

To fetch all tasks that you can view, you must fetch tasks using each of the applicable filter options repeatedly; for example, use ASSIGNMENT_FILTER_MY_AND_GROUP, then ASSIGNMENT_FILTER_REPORTEES, then ASSIGNMENT_FILTER_CREATOR, then ASSIGNMENT_FILTER_OWNER, and so on.

9.12.2 Correct Argument for oracle.bpel.services.workflow.query.ITaskQueryService.queryViewTasks

The Java documentation for the following method is incorrect:

oracle.bpel.services.workflow.query.ITaskQueryService.queryViewTasks

Incorrect second argument:

oracle.bpel.services.workflow.user.model.UserViewDetailType userViewDetail

Correct second argument:

java.lang.String viewId

The viewId is the ID of the view for which the tasks need to be retrieved.

9.12.3 Classes Not Included in the Javadoc

The following classes are not included in the Oracle BPEL Process Manager Workflow Services API Reference Javadoc:

  • oracle.bpel.services.workflow.metadata.taskattributes.TaskAttributesUtil

  • oracle.bpel.services.workflow.query.ITaskQueryService. ITaskQueryService.TASK_ACTIONS_TYPE_GROUP_ACTIONS

  • oracle.bpel.services.workflow.user.impl.UserMetadataUtil

  • oracle.bpel.services.workflow.worklist.*

9.13 Documentation Errata

This section describes documentation errata.

9.13.1 Deploying BPEL Processes in a Cluster

Section "Compiling and Deploying a BPEL Process" of Chapter 19, "BPEL Process Deployment and Domain Management" of the Oracle BPEL Process Manager Developer's Guide includes the following note:You must wait for deployment of one BPEL process to complete before attempting to deploy another process. Attempting to deploy a second process while the first process is still deploying can cause problems. This statement is incorrect and should be ignored when deploying BPEL processes in a cluster. Instead, you must explicitly deploy the BPEL process to all nodes in the BPEL cluster environment, as described in section Section 9.1.10, "Deploying BPEL Processes to All Nodes in a Cluster" of these release notes.

9.13.2 Setting up BPEL in a High Availability Configuration

Chapter 5, "Oracle BPEL Process Manager Clustering" in Oracle BPEL Process Manager Installation Guide 10g Release 3 (10.1.3.1.0) for UNIX and Microsoft Windows describes only a subset of the recommended steps for setting up BPEL in a high availability configuration. Refer to Oracle Application Server Enterprise Deployment Guide 10g Release 3 (10.1.3.3.0) for the complete steps.

9.13.3 Creating Users and Groups to Access New and Existing BPEL Domains

Section "Oracle BPEL Control and Oracle BPEL Admin Console Users and Roles" of the Oracle BPEL Process Manager Administrator's Guide provides syntax examples of how to create users and groups to access new and existing BPEL domains. Several syntax examples are provided, including the following:

java -Xbootclasspath/a:/home/oc4j/bpel/lib/orabpel-boot.jar -jar jazn.jar
-shell -grantperm jazn.com -user soaAdmin com.collaxa.security.DomainPermission
soaAdmin all

These syntax examples should be entered in several steps, and not on one single line. For example:

  1. Enter the syntax portion up through the -shell option.

    java -Xbootclasspath/a:/home/oc4j/bpel/lib/orabpel-boot.jar -jar jazn.jar -shell
    

    The -shell option opens the Admintool shell.

  2. Enter the remaining syntax in the shell prompt, noting that a dash (-) in front of grantperm is not required.

    JAZN:> grantperm jazn.com -user soaAdmin com.collaxa.security.DomainPermission
    soaAdmin all 
    
  3. Enter exit when done to close the Admintool shell and return to the operating system command prompt.

    JAZN:> exit 
    

See Also:

Appendix C of the Oracle Containers for J2EE Security Guide for instructions on using the Admintool shell.

9.13.4 Password Entry Required in User Credentials File

Section "How to Set Up a File with User Credentials" in Chapter "Securing the System" of the Oracle SOA Suite Developer's Guide describes how to create a file with user credentials by using a text editor such as Notepad or vi. This section says to create a single user name entry in the file. For example:

bill:

This is incorrect. You must also enter a user password in this file. For example:

bill:oracle

9.13.5 Explicitly Setting optSoapShortcut in the domain.xml File

Oracle BPEL Process Manager Developer's Guide incorrectly states that the optSoapShortcut property can be set in Oracle BPEL Control. This property no longer displays in Oracle BPEL Control. Instead, it is implicitly set to true in the SOA_Oracle_Home\bpel\domains\domain_name\config\domain.xml file. If you need to change this property to another value, you must add the following syntax to the domain.xml file. For example:

<property id="optSoapShortcut">   <value=false</value></property>

See Also:

Oracle Application Server Performance Guide for additional details about the optSoapShortcut property

9.13.6 Updated syncMaxWaitTime Property Definition

The definition for the syncMaxWaitTime property in section "syncMaxWaitTime BPEL Property" of chapter "Oracle BPEL Process Manager Performance Tuning" of the Oracle Application Server Performance Guide should read as follows:

This property sets the maximum time the process result receiver waits for a result before returning. Results from synchronous durable BPEL processes are retrieved synchronously by a receiver that waits for a result. Synchronous, transient BPEL processes are not subject to this property, as the same thread that processes the process is used to return the result. If the BPEL process is durable, a portion of the process must be performed asynchronously. Therefore, the client thread must wait for the result from the background thread.

9.13.7 Incorrect Names in Developer's Guide for ROUND_ROBIN, MOST_PRODUCTIVE, and LEAST_BUSY Dynamic Assignment Functions

In some places in Chapter 15, "Oracle BPEL Process Manager Workflow Services" of Oracle BPEL Process Manager Developer's Guide, the dynamic assignment function names contain incorrect case sensitivity and use a dash instead of an underscore. The correct names to use are as follows:

  • ROUND_ROBIN

  • MOST_PRODUCTIVE

  • LEAST_BUSY

9.13.8 Online Help for Property Tab of Partner Link Window is Incorrect

The online help for the Property tab of the Create Partner Link or Edit Partner Link window states that partner link properties are simple name-value pair properties that are defined and can be accessed at runtime by the BPEL process. The value of a property can be changed from Oracle BPEL Console at runtime without having to redeploy the BPEL process.

This statement is not correct. You can only change activation agent properties at runtime. There are two kinds of partner links:

  • Those associated with a receive activity (inbound, activation)

  • Those associated with an invoke activity (outbound, Web services invoke)

Only the polling process properties associated with the receive activity can be changed at runtime.

9.13.9 Invalid Namespace Prefix for getFaultAsString Function

Section "Getting Fault Details with the getFaultAsString XPath Extension Function" of Chapter "Fault Handling" of Oracle BPEL Process Manager Developer's Guide shows the following code sample:

<assign>
   <from expression="bpelx:getFaultAsString()"/>
   <to variable="faultVar" part="message"/>
</assign>

The correct namespace prefix for getFaultAsString is ora, and not bpelx.