Oracle® Fusion Middleware Release Notes 11g Release 1 (11.1.1) for Linux x86-64 E14770-25 |
|
![]() Previous |
![]() Next |
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:
|
This section describes general issue and workarounds. It includes the following topics:
Section 14.1.1, "Schemas Imported by WSDL Are Not Copied into the Local Project"
Section 14.1.2, "Enabling Payload Changes in Fault Recovery"
Section 14.1.4, "Purge Scripts Do Not Delete Spring Component Rows in Nonproduction Environments"
Section 14.1.5, "Recommendation to Configure Either All on No Managed Servers with SSL"
Section 14.1.6, "Changes to Shared Artifacts Require Redeployment of Existing Composites"
Section 14.1.7, "WSDL Interface and EJB Version 2 are Not Supported During Runtime"
Section 14.1.8, "MTOM Attachments with Spring Service Component Are Not Supported"
Section 14.1.9, "ant Compilation Error with SOA Composite Applications on Linux"
Section 14.1.10, "Composite Instance is Flagged as Faulted Even After Fault is Caught"
Section 14.1.11, "Releasing Locks to Resolve ADF Task Form EAR File Deployment Errors"
Section 14.1.12, "SOA Infrastructure State in Oracle WebLogic Server Administration Console"
Section 14.1.13, "Importing Shared Schema from MDS Does Not Copy the Schema Imports"
Section 14.1.14, "Composites with Large While Loop Cases Cause Time Outs and Memory Errors"
Section 14.1.15, "Extra Business Event with Oracle Database 11.2.0.1 and One and Only One Level"
Section 14.1.16, "Inconsistent States for SOA Composite Application Instances in Recovery"
Section 14.1.17, "Manual Recovery of Wait and OnAlarm Branch of Pick Activities Is Unsupported"
Section 14.1.18, "Recovery Error Message Displayed in the Audit Trail"
Section 14.1.19, "SOAP 1.2 <stackTrace> Fault Element is Not Returned to the Caller"
Section 14.1.20, "Faulted Instances Waiting for Manual Recovery are Shown as Running"
Section 14.1.21, "Composites Calling Other Composites with Concrete WSDL Files"
Section 14.1.22, "Transactional Adapter Status Displays as Complete Even If Rollback Occurs"
Section 14.1.23, "Accessing Components from SSO-Enabled Oracle Enterprise Manager"
Section 14.1.24, "Composite State Not Updated After BPEL Recovery Of Faulted Instance"
Section 14.1.25, "Removing Extra Set Text Dialog Characters"
Section 14.1.26, "Failure to Add and Update WSDL Binding After Migration"
Section 14.1.27, "Storing Artifacts in Source Control and Deploying Them with the ant Utility"
Section 14.1.28, "Understanding BPEL Global Transaction and Adapter Local Transaction Issues"
Section 14.1.29, "Descriptions for Data Source JNDI Fields are Interchanged"
Section 14.1.30, "Granting the Same Role to the Same User Twice Causes Unclear WLST Message"
Section 14.1.31, "Mediator Instances Can Display as Running After Transaction Completion"
Section 14.1.32, "Handling Business and Remote Faults in the Calling BPEL Processes"
When you attempt to use a WSDL file that is not part of the current project, the Localize Files dialog is displayed and prompts you with the option to copy the WSDL file and its dependent artifacts to the current project. If you select this option, the schemas imported by the WSDL file fail to be copied into the current project.
This also happens in two other situations:
In the Create Web Service dialog, when you check copy wsdl and its dependent artifacts into the project.
In the Type Chooser dialog, when you select a schema, choose to import a WSDL file, and select the copy to project checkbox.
As a workaround, manually copy the schema files into the project. However, ensure that you copy the schema files to the correct relative (to the WSDL) location.
When you attempt a fault recovery in Oracle Enterprise Manager Fusion Middleware Control Console, any payload changes made to the input variable during recovery do not take effect until after the instance is recovered. This is because the input variable is treated as read-only until the time when it is not used in the to-spec
part of the copy rules. Therefore, a fault recovery with changed input data is not possible unless you perform one of the following workarounds:
Use the read-only input variable in a dummy assign activity and initiate the input reassigned to itself.
Include a bpelx:exec
activity, which turns off read-only variable optimization.
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 BPM Suite.
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 BPM Suite.
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.
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.
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.
You cannot send a Message Transmission Optimization Mechanism (MTOM) attachment with a spring service component.
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.
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:
Deploy a SOA composite application.
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.
Recover the fault by modifying the payload and passing an integer value for input.
The composite instance state changes to faulted.
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.
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.
Log in to the Oracle WebLogic Server Administration Console.
Below the console banner at the top of the page, click Preferences > User Preferences.
Deselect Automatically Acquire Lock and Activate Changes.
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).
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.
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.
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:
Right-click soa-infra and select SOA Administration > BPEL Properties.
Click More BPEL Configuration Properties.
Click the properties described above.
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. |
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Enable payload validation on the SOA Infrastructure Common Properties page in Oracle Enterprise Manager Fusion Middleware Control Console.
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.
Go to the Recovery page of the BPEL service engine and note that the same instance is pending recovery.
Disable payload validation on the SOA Infrastructure Common Properties page.
From the Recovery page of the BPEL service engine, select the instance and click Recover. This recovers the instance.
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.
Adding &
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:
In the XSLT Mapper, right-click a string element in the target pane.
Select Set Text > Enter Text.
In the Edit Text dialog, enter &
in the Text field, and click OK.
Go to the Source view of the XSL file, and see that an extra amp;
is appended.
<xsl:text disable-output-escaping="no">&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">&</xsl:text>
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:
Delete the reference and create a new one using the same WSDL.
(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
.
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>
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
.
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.
Create a domain with Oracle WebCache and extend it with Oracle SOA Suite.
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).
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
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:
A database adapter posts a message.
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.
A JMS adapter is invoked, and encounters and throws an exception. The reference fault tables are updated.
The BPEL process receives the exception, marks its state as completed with a fault, and rethrows the exception to the Oracle Mediator.
The BPEL process triggers an asynchronous persistence of its audit information as the global transaction is rolled back.
Oracle Mediator receives the exception and persists the fault information in its error tables (in a separate local transaction).
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.
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.
This section describes configuration issues and their workarounds. It includes the following topics:
Section 14.2.1, "Flow Trace Fails to Load with Numerous Correlated Composite Instances"
Section 14.2.2, "Resolving Database Connection Pool Timeout Errors"
Section 14.2.3, "Stopping and Starting the Managed Server Instead of the SOA Infrastructure"
Section 14.2.4, "Querying the Status of Bulk Fault Recovery Jobs"
Section 14.2.5, "Message Schema in UTF-16 Encoding Can Cause a Runtime Exception"
Section 14.2.6, "Demo Certificate Reference Removal When Using Your Own SSL Certificates"
Section 14.2.7, "Resolving Thread-Blocking and Slow Performance in Composite Applications"
Section 14.2.8, "Increasing the XA Transaction Timeout Value"
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.
Open the fabric-ejb.jar
file.
Within this JAR file, open the weblogic-ejb-jar.xml
file.
Set the transaction timeout parameter to a higher value.
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>
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.
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.
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.
Add the oracle.soa.management.util.async.AsynchronousJobScheduler
logger.
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>
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
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.
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.
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.
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.
Click Lock and Edit.
Choose Services > Data Sources.
Click the specific data source.
Click the Transaction tab.
Select Set XA Transaction Timeout.
In the XA Transaction Timeout field, specify the value of the transaction timeout.
Click Save.
Log into SQL*Plus.
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.
Shut down and restart your database after running this command.
Verify that the setting has changed.
SQL> show parameter distributed_lock_timeout;
Set this parameter to the same value for all instances in an Oracle Real Application Cluster.
If you get Permgen Space Out-of-Memory errors in the SOA managed server, perform these steps:
Open the $DOMAIN_HOME/bin/
setSOADomainEnv.sh
file.
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=512m -XX:MaxPermSize=1024m" fi
This section describes documentation errata. It includes the following topic:
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).