Skip Headers
Oracle® Fusion Middleware Release Notes
11g Release 1 (11.1.1) for Linux x86

Part Number E10133-22
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

14 Oracle SOA Suite and Oracle BPM Suite Common Functionality

This chapter describes runtime and common functionality issues associated with Oracle SOA Suite and Oracle Business Process Management (BPM) Suite. It includes the following topics:

Note:

The issues and workarounds listed here are those that were known at the time of the product's initial release to the public. Additional issues and workarounds may have been discovered since the initial release. To view the latest known issues associated with Oracle SOA Suite, BPM Suite, and related SOA technologies, go to the Oracle Technology Network (OTN) at:
http://www.oracle.com/technetwork/middleware/docs/aiasoarelnotes-196861.html

14.1 General Issues and Workarounds

This section describes general issue and workarounds. It includes the following topics:

14.1.1 Permissible Purge States

Instances in the following states can be purged with the purge scripts.

  • Completed successfully

  • Faulted

  • Terminated by user

  • Stale

Purging of the following instance states is not supported:

  • Instances pending recovery at the BPEL process service engine level or SOA composite application level

  • Running instances

To purge these instances, you must first move them to one of the instance states supported by the purge scripts.

For more information about the purge scripts, see chapter "Managing Database Growth" of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

14.1.2 Purge Scripts Do Not Delete Spring Component Rows in Nonproduction Environments

In nonproduction environments (for example, when selecting Development from the Audit Level list on the SOA Infrastructure Common Properties page in Oracle Enterprise Manager Fusion Middleware Control Console), the purge scripts do not delete rows related to the spring service component from the following database tables:

  • xml_document

  • instance_payload

  • component_instance

For information about the purge scripts, see Chapter "Managing Database Growth" of Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

14.1.3 Recommendation to Configure Either All on No Managed Servers with SSL

As a best practice, Oracle recommends that you configure either all managed servers or no managed servers with SSL (SOA, BAM, and so on). Configuring some managed servers with SSL, while not configuring others, may lead to undesirable results in Oracle BPM Worklist and Oracle Web Services Manager (OWSM). For example, if there is an SSL-configured managed server (bam_server), servers not configured with SSL are not be used by OWSM. In cases in which an SSL-configured server is down, it causes OWSM to be in a down state, which in turn causes Oracle BPM Worklist to be in a down state.

14.1.4 Changes to Shared Artifacts Require Redeployment of Existing Composites

When MDS shared artifacts such as WSDL and XSD files are modified using Oracle JDeveloper and redeployed to the SOA-MDS from Oracle JDeveloper, the previously deployed composites using the old WSDL and XSD files can fail to execute from Oracle Enterprise Manager Fusion Middleware Control Console.

This is because changes to MDS shared artifacts are not picked up by previously deployed composites that reference them until the referencing composites are redeployed. As a best practice, redeploy the dependent referencing composites.

If you do not follow the best practice of redeploying the dependent composites along with the changed shared artifacts, a best effort is made to keep the existing composites running. Best effort means that there are cases in which they can fail. For production environments, the best practice of redeployment must be followed.

14.1.5 WSDL Interface and EJB Version 2 are Not Supported During Runtime

The Create EJB Service dialog enables you to select the following combination:

  • The WSDL radio button selection in the Interface section.

  • The EJB2 selection from the Version dropdown list.

This combination is not supported during runtime.

14.1.6 MTOM Attachments with Spring Service Component Are Not Supported

You cannot send a Message Transmission Optimization Mechanism (MTOM) attachment with a spring service component.

14.1.7 ant Compilation Error with SOA Composite Applications on Linux

Included per PS3 doc bug 10255512 (mrakibe)

You can receive the following compilation error when using ant to compile a SOA composite application.

Error(12,61): Parse of component type files failed, check the adf-config.xml
file : "java.lang.NoSuchMethodError:
org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar([Lorg/apache/xerces/xni/
parser/XMLInputSource;)V:
org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar([Lorg/apache/xerces/xni/
parser/XMLInputSource;)V" 

This can occur if you have a .ant directory with older versions of JAR files that gets added to the classpath. The ${user.home}/.ant/lib directory is a standard location used by ant that is always added to the classpath when running ant.

As a workaround, perform one of the following steps:

  • Rename the .ant directory (for example, to .ant_old).

  • Specify the -nouserlib option when running ant from the Linux command prompt. In Oracle JDeveloper, this option is accessible by right-clicking your project, selecting Project Properties > Ant > Classpath, and deselecting the Include Jar Files from User Home checkbox.

The composite then compiles successfully.

14.1.8 Composite Instance is Flagged as Faulted Even After Fault is Caught

After manually recovering a fault, a composite instance state in Oracle Enterprise Manager Fusion Middleware Control Console can still display as faulted. For example, assume you perform the following steps:

  1. Deploy a SOA composite application.

  2. Test the web service from the Test Page in Oracle Enterprise Manager Fusion Middleware Control Console by deliberately passing a float value for an input string.

    A fault is correctly generated and the fault policy is applied. The composite instance is in a state requiring recovery.

  3. Recover the fault by modifying the payload and passing an integer value for input.

    The composite instance state changes to faulted.

  4. Check the flow trace and it shows that the fault has actually recovered.

The instance tracking infrastructure does not maintain the relationship of upstream and downstream components. When an upstream component recovers from the recovery required state and a downstream component is in the faulted state, the faulted state cannot be reset; only the recovery required state is reset by the component of the recovery required instance. The downstream component of the faulted instance does not know that the message is replayed; therefore, the composite instance is not reset from the faulted state.

14.1.9 Releasing Locks to Resolve ADF Task Form EAR File Deployment Errors

If you deploy a SOA composite application JAR file and ADF task form EAR file, and the SOA JAR file is deployed successfully, but while deploying the EAR file, the following errors are displayed:

[wldeploy] weblogic.management.ManagementException: [Deployer:149163]The
domain edit lock is owned by another session in non-exclusive mode - this
deployment operation requires exclusive access to the edit lock and hence
cannot proceed. If you are using "Automatically Aquire Lock and Activate
Changes" in the console, then the lock will expire shortly so retry this
operation.

This means you must first release the lock from Oracle WebLogic Server Administration Console to successfully deploy the EAR file.

  1. Log in to the Oracle WebLogic Server Administration Console.

  2. Below the console banner at the top of the page, click Preferences > User Preferences.

  3. Deselect Automatically Acquire Lock and Activate Changes.

  4. Click Save and note that buttons such as Lock and Edit and Release Configuration are visible.

    Note the following description that is displayed in the Oracle WebLogic Server Administration Console:

    Automatically acquire the lock that enables configuration editing and
    automatically activate changes as the user modifies, adds and deletes items
     (for example, when the user clicks the 'Save' button). This feature is not
     available in production mode.
    

Note that this error can occur regardless of the deployment method you are using (for example, deploying through Oracle JDeveloper or through ant scripts).

14.1.10 SOA Infrastructure State in Oracle WebLogic Server Administration Console

The state of the SOA Infrastructure application displays as Warning in the Oracle WebLogic Server Administration Console. However, there is no loss of functionality because of this state being displayed.

14.1.11 Importing Shared Schema from MDS Does Not Copy the Schema Imports

If you import shared schema from MDS (with schema imports within), only the base schema is copied and the schema imports are ignored.

As a workaround, manually localize the schema.

14.1.12 Composites with Large While Loop Cases Cause Time Outs and Memory Errors

If your SOA composite application includes large while loop cases, you can receive time outs and out-of-memory errors due to large numbers of audit events accumulating. To support these environments, you can decouple the audit trail from the BPEL process service engine transaction by tuning the following properties at the BPEL process service engine level:

  • auditFlushEventThreshold: Controls how often the service engine flushes the audit events. When the audit event limit is reached, the service engine triggers a store call. Tune this size based on the application. The default value is 300 audit events.

  • auditFlushByteThreshold: Controls the approximate size of the batch. After each event, the size is calculated, including the details size. If the sum of the batch byte size exceeds the value of this property, a flush is triggered. The default value is 2 MB.

To set this property at the BPEL process service engine level:

  1. Right-click soa-infra and select SOA Administration > BPEL Properties.

  2. Click More BPEL Configuration Properties.

  3. Click the properties described above.

  4. In the Value field, specify an appropriate value and click Apply.

Note:

These properties only impact the BPEL process audit trail. Human workflow, business rules, and Oracle Mediator are not affected by these settings.

14.1.13 Extra Business Event with Oracle Database 11.2.0.1 and One and Only One Level

If you subscribe to a business event with Oracle Mediator, select a consistency level of one and only one, and use a release 11.2.0.1 Oracle database for the SOA Infrastructure schema, the first event published produces two business events.

For example, if 20 messages are published, the subscriber receives 21 messages.

This issue occurs only with release 11.2.0.1 of the Oracle database and only one time after a restart of both the SOA Infrastructure database and the SOA Server. After that, the correct number of business events are inserted.

14.1.14 Inconsistent States for SOA Composite Application Instances in Recovery

When a SOA composite application instance is being recovered, callback messages and activities are displayed as Running, but invocation messages are displayed as Faulted in the State column of the Dashboard tab of a SOA composite application.

14.1.15 Manual Recovery of Wait and OnAlarm Branch of Pick Activities Is Unsupported

You cannot manually recover wait activities or the OnAlarm branch of pick activities from the Recovery tab of the BPEL process service engine in Oracle Enterprise Manager Fusion Middleware Control Console. There is nothing restricting you from retrieving these pending activities and then attempting a recovery. However, recovery is not successful.

Instead, these pending activities are automatically scheduled and retried by the BPEL process service engine as part of the daily auto recovery or by restarting the SOA server.

14.1.16 Recovery Error Message Displayed in the Audit Trail

The following error message appears when a transaction is displayed as rolled back in the Audit Trail tab of Oracle Enterprise Manager Fusion Middleware Control Console.

The transaction was rolled back. The work performed for bpel instance "instance_
number" was rolled back to the previous dehydration point, but the audit trail has
been saved. You can recover the instance from the recovery console by
resubmitting the callback message or activity for execution

This message does not specifically state whether recovery should happen on either the activity or the callback. This is the intended behavior. Oracle recommends that you do not recover each instance through the audit messages. Instead, set up automatic recovery to recover these instances.

14.1.17 SOAP 1.2 <stackTrace> Fault Element is Not Returned to the Caller

A fault from a SOAP 1.2 Web service contains a <stackTrace> element as part of the <exception> element. The <stackTrace> element provides debug information and assistance in understanding a fault. If you invoke a Web service directly from a client and a fault occurs, the <stackTrace> element is provided.

However, if a SOA composite application invokes a Web service (for example, through a BPEL process or Oracle Mediator) and a fault occurs, the <stackTrace> element is not passed back to the caller.

This is the expected behavior.

14.1.18 Faulted Instances Waiting for Manual Recovery are Shown as Running

Faulted instances that are waiting for manual recovery are shown when you search for running instances. For example, if you go to the Instances page of the SOA composite application and specify a search criteria to find running instances, the faulted instances waiting for manual recovery are shown.

14.1.19 Composites Calling Other Composites with Concrete WSDL Files

If you use concrete WSDL files, be aware that the order of startup for SOA composite applications is not guaranteed.

For example, if one SOA composite application calls a second SOA composite application with a concrete WSDL file, and the first SOA composite application gets started before the second SOA composite application, an error occurs. This is because the first SOA composite application cannot load the second SOA composite application's WSDL file.

14.1.20 Transactional Adapter Status Displays as Complete Even If Rollback Occurs

If a transaction rollback occurs because of a business fault or exception, the instance trial for a transactional adapter does not indicate whether or not there was a rollback.

For example, assume you have an asynchronous BPEL process invoking a database adapter service. An assert expression is defined in the invoke activity. If the assert expression returns false, then all transactional invocations should roll back. However, the flow trace shows a status of completed for the database adapter service.

14.1.21 Accessing Components from SSO-Enabled Oracle Enterprise Manager

If you log in to an SSO-enabled Oracle Enterprise Manager Fusion Middleware Control Console and click the links to the following components, you are directed to non-SSO URLs for these components, and prompted to log in again.

  • Oracle BPM Worklist

  • Oracle B2B

  • Oracle BAM

  • SOA Composer

14.1.22 Composite State Not Updated After BPEL Recovery Of Faulted Instance

The state of a failed SOA composite application instance is not updated after you successfully perform a recovery from the Recovery page of the BPEL service engine. For example, assume you perform the following steps.

  1. Enable payload validation on the SOA Infrastructure Common Properties page in Oracle Enterprise Manager Fusion Middleware Control Console.

  2. Invoke an instance of a SOA composite application. If payload validation fails (for example, because required elements in the schema are missing), a failure occurs at the BPEL service component level during execution of an invoke activity.

    The instance is displayed as faulted in the Dashboard and Instances pages of the composite.

  3. Go to the Recovery page of the BPEL service engine and note that the same instance is pending recovery.

  4. Disable payload validation on the SOA Infrastructure Common Properties page.

  5. From the Recovery page of the BPEL service engine, select the instance and click Recover. This recovers the instance.

  6. View the completed instance in the flow trace. However, note that the instance state is not updated and is still shown as faulted, whereas the instance has actually recovered and completed successfully.

    This is the expected behavior. BPEL recovery created a new BPEL instance, which completed successfully. However, the previous BPEL instance (the one that failed schema validation) is still shown as faulted. The overall composite instance is counted as faulted, since one of its two component instances (the previous BPEL instance) is faulted.

14.1.23 Removing Extra Set Text Dialog Characters

Adding &amp; to the Text field of the Edit Text dialog in Oracle JDeveloper adds extra characters to the XSL file. For example, perform the following steps:

  1. In the XSLT Mapper, right-click a string element in the target pane.

  2. Select Set Text > Enter Text.

  3. In the Edit Text dialog, enter &amp; in the Text field, and click OK.

  4. Go to the Source view of the XSL file, and see that an extra amp; is appended.

    <xsl:text disable-output-escaping="no">&amp;amp;</xsl:text>
    

As a workaround, in Source view of the XSL file, remove the extra character amp; that was appended in the previous steps. The source view now looks as follows:

<xsl:text disable-output-escaping="no">&amp;</xsl:text>

14.1.24 Failure to Add and Update WSDL Binding After Migration

When you open Oracle JDeveloper and attempt to migrate a 10.1.3 application that includes WSIF binding information to version 11g, migration creates a web service reference with no WSDL binding information (binding.wsif) in the composite.xml file. When you then attempt to update the reference with the same WSDL in Oracle JDeveloper, the binding information is not saved, and you receive a compilation error.

This is because Oracle JDeveloper is handling the typical migration use case in which the reference is updated with a new WSDL location (same WSDL, but in a different location). Therefore, when you do not change the WSDL location, nothing happens.

As a workaround, perform either of the following steps:

  1. Delete the reference and create a new one using the same WSDL.

  2. (Easiest) Copy the WSDL to a different file name, but do not change its contents. Then, update the reference using this WSDL copy. This changes the location of the WSDL and correctly creates the binding.ws.

14.1.25 Storing Artifacts in Source Control and Deploying Them with the ant Utility

If you store application artifacts in a source control system that you later want to reuse for deployment with ant, the following changes are required if the application has metadata service (MDS)-based references.

Assume the original Oracle JDeveloper application has file-based MDS references, such as the following:

<metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
              <property value="${oracle.home}/integration" 
                        name="metadata-path"/>   
              <property value="seed" name="partition-name"/> 
            </metadata-store> 

Modify this code to use database-based MDS references in the Application_Directory/.adf/META-INF/adf-config.xml file, as shown below:

<metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
              <property name="jdbc-userid" value="${mdsuser}"/> 
 <property name="jdbc-password" value="${mdspassword}"/> 
              <property name="jdbc-url" 
value="jdbc:oracle:thin:@${db.host.name}:${db.host.port}:${db.sid}"/> 
               <property name="partition-name" value="soa-infra"/> 
            </metadata-store> 

Check the modified application with these adf-config.xml entries into a source control system. The following concrete example of a modified adf-config.xml file is provided.

<metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
              <property name="jdbc-userid" value="soainfra_mds"/> 
              <property name="jdbc-password" value="soainfra_mds"/> 
              <property name="jdbc-url" 
value="jdbc:oracle:thin:@myhost56.us.oracle.com:15739:db2825"/> 
              <property name="partition-name" value="soa-infra"/> 
            </metadata-store> 

You can use a variable for the user ID and password and replace the values prior to ant deployment in the application.

If the MDS database has a JNDI name, then use the following entries in adf-config.xml:

<metadata-store 
  class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
     <property name="jndi-datasource" value="${db.jndi.name}"/> 
     <property name="partition-name" value="soa-infra"/> 
</metadata-store> 

14.1.26 Understanding BPEL Global Transaction and Adapter Local Transaction Issues

BPEL processes run in global transactions, while other Oracle SOA Suite components, such as adapters, run in local transactions. This can cause inconsistencies with the information displayed in Oracle Enterprise Manager Fusion Middleware Control Console.

For example, assume you have a main synchronous BPEL process that invokes an asynchronous BPEL process. There is one database adapter insert in the main synchronous BPEL process before the invocation of the asynchronous BPEL process. There is a second database adapter insert in the asynchronous BPEL process, at which point a fault is expected to be thrown.

The expected behavior is as follows:

  • An initial insert into the database is performed from the main process that completes successfully as expected.

  • The second insert also executes in the asynchronous process, but after encountering the fault, the BPEL process rolls back the initial insert.

However, in Oracle Enterprise Manager Fusion Middleware Control Console, the second database insert also shows as having completed successfully, instead of the having faulted.

This is because the database adapter invocation is logged (instance tracked) in a local transaction that is not part of the global BPEL JTA transaction. Therefore, the database adapter invocation completes successfully, but the subsequent BPEL process incurs a global rollback.

<invoke name="Invoke_1" inputVariable="Invoke_1_insert_InputVariable" 
   partnerLink="db" portType="ns1:db_ptt" operation="insert"/> 
. . .
. . .
   <throw name="Throw_2" faultName="bpelx:rollback"/>

At that point, instance tracking has already recorded the outbound invocation as successful (in a local transaction). If the adapter throws an exception, instance tracking logs this as a fault. Also note that some partner links may invoke a file adapter, which cannot be rolled back, even if the BPEL process later throws a bpelx:rollback.

14.1.27 Descriptions for Data Source JNDI Fields are Interchanged

In the SOA Infrastructure Common Properties page of Oracle Enterprise Manager Fusion Middleware Control Console, the descriptions for Server Data Source JNDI and Server Transaction Data Source JNDI are interchanged. However, the Configure links go to the correct locations.

14.1.28 Granting the Same Role to the Same User Twice Causes Unclear WLST Message

  1. Create a domain with Oracle WebCache and extend it with Oracle SOA Suite.

  2. Associate the Oracle WebCache application with LDAP and grant the admin role to a user (for example, user name test) in Oracle Internet Directory using the WebLogic Scripting Tool (WLST).

  3. Grant the same role (admin role) to the same user again (test).

    You expect to see a WLST error message such as the following:

    This particular user already has admin role to access your application
    

    Instead, you receive the following message, which is inaccurate:

    Command FAILED, Reason: Cannot add principal to application role
    

14.1.29 Mediator Instances Can Display as Running After Transaction Completion

An Oracle Mediator service component relies on a successful commit of a local transaction to know whether an instance is recoverable. Even if a graceful shutdown is correctly implemented, and all transactions are allowed to complete (within the given time out window), there can still be a local transaction that is denied because it fails to occur within the time out window. For example, assume the following:

  1. A database adapter posts a message.

  2. An Oracle Mediator service component receives the message, sets its state to running, and invokes a BPEL process service component, whose state is also set to running.

  3. A JMS adapter is invoked, and encounters and throws an exception. The reference fault tables are updated.

  4. The BPEL process receives the exception, marks its state as completed with a fault, and rethrows the exception to the Oracle Mediator.

  5. The BPEL process triggers an asynchronous persistence of its audit information as the global transaction is rolled back.

  6. Oracle Mediator receives the exception and persists the fault information in its error tables (in a separate local transaction).

  7. Oracle Mediator sets its state to faulted.

If the server is shut down before the transaction can complete (for example, between Steps 5 through 7), the Oracle Mediator instance can remain in a running state. The corresponding composite instance whose state is inferred from the components also displays as running. As the global transaction is rolled back, the message can be retried and reprocessed by the inbound adapter. Note that in this scenario, no mediator instances are lost.

14.1.30 Handling Business and Remote Faults in the Calling BPEL Processes

Oracle recommends that you handle both business and remote faults in BPEL processes during design time. If remote exceptions are not handled in the calling BPEL process, you can see discrepancies in the overall SOA composite application instance state and the server component instance states associated with the composite. For example, assume the composite instance is in a faulted state, while the service component instances are in a completed state. If the caller handles the remote exceptions, then the states of composite and component instances are accurate.

14.2 Configuration Issues and Workarounds

This section describes configuration issues and their workarounds. It includes the following topics:

14.2.1 Flow Trace Fails to Load with Numerous Correlated Composite Instances

The flow trace in Oracle Enterprise Manager Fusion Middleware Control Console can fail to load in scenarios in which you have numerous correlated composite instances (for example, 100). This is because multiple midprocess receive activities result in separate ECIDs. Creating a consolidated audit trail involves sending separate requests for each ECID (for example, 100 separate queries for audit trails).

As a workaround, perform the following steps to increase the transaction timeout parameter.

  1. Open the fabric-ejb.jar file.

  2. Within this JAR file, open the weblogic-ejb-jar.xml file.

  3. Set the transaction timeout parameter to a higher value.

14.2.2 Resolving Database Connection Pool Timeout Errors

If you deploy a SOA composite application and create multiple instances that use multiple connection threads (for example, numerous threads for worklist approvals in Oracle BPM Worklist), you may receive many connection pool timeout errors, such as the following.

[EL Warning]: 2009-05-02 21:27:08.101--UnitOfWork(58549762)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 1.1.1.v20090407-r3867):
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain
@ XAConnection weblogic.common.resourcepool.ResourceDeadException:
@ 0:weblogic.common.ResourceException: Got minus one from a read call
Error Code: 0
Query:
InsertObjectQuery(com.collaxa.cube.persistence.dto.DeliveryDocumentRef@8cf1b90
) 

When these errors occur, the database terminates its connection.

As a workaround, set the oracle.net.CONNECT_TIMEOUT property that is defined for SOADataSource to a larger value (for example, 20000 milliseconds) in the data source file.

<property>
  <name>oracle.net.CONNECT_TIMEOUT</name>
  <value>20000</value>
</property>

14.2.3 Stopping and Starting the Managed Server Instead of the SOA Infrastructure

As a best practice, stop and start the managed server of Oracle SOA Suite instead of stopping and starting the SOA Infrastructure application. Stopping and starting the SOA Infrastructure application can cause problems with Oracle Enterprise Manager Fusion Middleware Control Console correctly loading.

14.2.4 Querying the Status of Bulk Fault Recovery Jobs

You can query the status of bulk fault recovery jobs (for example, scheduled, in-progress, failed, results recorded, and so on) through log messages by configuring the oracle.soa.management.util.async.AsynchronousJobScheduler logger.

  1. Within the Oracle WebLogic Server Administration Server domain home, open $DOMAIN_HOME/config/fmwconfig/servers/AdminServer/logging.xml.

    where $DOMAIN_HOME is the directory path to your domain.

  2. Add the oracle.soa.management.util.async.AsynchronousJobScheduler logger.

  3. Set the log level to TRACE:1 to output job status updates.

    The syntax looks as follows:

    <loggers>
        ...
        <logger name='oracle.soa.management.util.async.AsynchronousJobScheduler'
     level="TRACE:1" />
    </loggers>
    
  4. Restart the Oracle WebLogic Server Administration Server for the changes to take effect.

    Logging output similar to the following is generated:

    [2010-04-21T16:32:30.128-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     processJob] Processing asynchronous BulkFaultRecovery job
     105ab343-7fbd-4a82-a167-7d794f0801e4
    [2010-04-21T16:32:30.131-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     updateJobStatus] Updated status for asynchronous job
     105ab343-7fbd-4a82-a167-7d794f0801e4 : incomplete
    
    [2010-04-21T16:32:39.790-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     updateJobStatus] Updated status for asynchronous job
     105ab343-7fbd-4a82-a167-7d794f0801e4 : complete
    

14.2.5 Message Schema in UTF-16 Encoding Can Cause a Runtime Exception

You may encounter the following runtime parsing error if a message schema is encoded in UTF-16.

Unable to parse schema <name>.xsd

To resolve this error, change the schema encoding to UTF-8. In Source view in Oracle JDeveloper, set the encoding declaration in the XML prologue to encoding='UTF-8' for the message schema.

14.2.6 Demo Certificate Reference Removal When Using Your Own SSL Certificates

If you use your own certificates for SSL, you must remove references to the demo certificates by removing the following line from the setDomainEnv file for your version of the operating system.

-Djavax.net.ssl.trustStore=${WL_HOME}/server/lib/DemoTrust.jks

Otherwise, Oracle BPEL Process Manager cannot access the external SOAP endpoint.

14.2.7 Resolving Thread-Blocking and Slow Performance in Composite Applications

If your thread dumps indicate that threads are being blocked and performance is slow, try setting the following JRockit Java Virtual Machine options in the $DOMAIN_HOME/bin/setSOADomainEnv.sh file.

-Xmx:1536M –Xms:1536M –Xgc:genpar

where:

  • -Xmx is the maximum heap size.

  • -Xms is the minimum heap size.

  • -Xgc:genpar is the static garbage collector (GC) running generational and parallel collection strategies.

14.2.8 Increasing the XA Transaction Timeout Value

If you send notifications for parallel task assignments in human workflow, you can see the transaction close, SQL exceptions appear, and notification processing take a long time at runtime. If this occurs, increase the XA transaction timeout for an XA data source in Oracle WebLogic Server Administration Console. When set, this value overrides the value of the global transaction timeout.

  1. Click Lock and Edit.

  2. Choose Services > Data Sources.

  3. Click the specific data source.

  4. Click the Transaction tab.

  5. Select Set XA Transaction Timeout.

  6. In the XA Transaction Timeout field, specify the value of the transaction timeout.

  7. Click Save.

  8. Log into SQL*Plus.

  9. Set the distributed_lock_timeout value.

    SQL> alter system set distributed_lock_timeout=value scope=spfile;
    

    Oracle recommends that you set distributed_lock_timeout to a value greater than or equal to that set in Step 6.

  10. Shut down and restart your database after running this command.

  11. Verify that the setting has changed.

    SQL> show parameter distributed_lock_timeout;
    
  12. Set this parameter to the same value for all instances in an Oracle Real Application Cluster.

14.2.9 PermGen Space Out-of-Memory Error when Using the Sun JDK

When the Sun JDK is used as the JVM for the SOA managed server, Oracle recommends that the following memory settings be used. If proper memory settings are not used, repeated operations on task detail applications (human workflow) can result in PermGen space out-of-memory errors.

  1. Open the $DOMAIN_HOME/bin/setSOADomainEnv.sh file.

  2. Increase the following values:

    if [ "${JAVA_VENDOR}" != "Oracle" ] ; then 
      DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=128m 
    -XX:MaxPermSize=256m" 
      PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m" 
    fi 
    

    to these values:

    if [ "${JAVA_VENDOR}" != "Oracle" ] ; then 
      DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=512m 
    -XX:MaxPermSize=1024m" 
      PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m" 
    fi
    

14.3 Documentation Errata

This section describes documentation errata. It includes the following topic:

14.3.1 updateType Argument of sca_exportComposite Command Is Missing a Value

The syntax described in Chapter "Oracle SOA Suite Custom WLST Commands" of WebLogic Scripting Tool Command Reference for using the updateType argument of the sca_exportComposite command is missing a value for one of the types of postdeployment changes you can export. In addition to the all, property, and runtime values, you can also specify the none value to export the original composite without any postdeployment changes (including property changes and runtime changes).