Skip Headers
Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite
11g Release 1 (11.1.1.5.0)

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

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

B Troubleshooting Oracle SOA Suite

This appendix describes how to troubleshoot issues you can encounter when using Oracle SOA Suite.

This appendix includes the following topics:

B.1 Best Practice for Starting and Stopping a Managed Server

As a best practice, it is always recommended that you start and stop a managed server through one, but not both, of the following methods. Do not mix these methods, such as starting the managed server from the command line and stopping it from Oracle Enterprise Manager Fusion Middleware Control, or vice versa.

Perform the following steps to stop and start the server from Oracle Enterprise Manager Fusion Middleware Control.

  1. Expand the WebLogic domain.

  2. Select the managed server (for example, named soa_server1).

  3. Select Control > Shut Down.

  4. Select Control > Start Up.

For information on starting and stopping managed servers from the command line, see Oracle Fusion Middleware Installation Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

B.2 Specifying the Proxy Server

To use system properties to specify the proxy server, write your client application in the standard way, and then specify Java system properties when you execute the client application.

setenv PROXY_SETTINGS "-DproxySet=true
-Dhttp.proxyHost=www-myproxy.us.mycompany.com -Dhttp.proxyPort=80
 -Dhttp.nonProxyHosts=localhost|*.us.mycompany.com
  |0:0:0:0:0:0:0:1|fe80:0:0:0:250:56ff:fe31"

Note:

When you specify values for proxy properties such as http.proxyHost and http.proxyPort, also specify the http.nonProxyHosts property.

B.3 Optimizing the Loading of Pages with Instance and Fault Metrics

Since production systems can include numerous composite instances and faults, there is a possibility of time-outs in the SOA Oracle Enterprise Manager Fusion Middleware Control pages as information retrieval becomes relatively slow. To optimize the loading performance of pages, you can enable a property setting in the SOA Infrastructure Common Properties page that disables the loading of all metrics information upon page load. The instances and faults metrics can be obtained on demand from the server.

  1. In the navigator, click soa-infra.

  2. Note that values appear in the Running and Total fields in the Recent Composite Instances section and the Instances column of the Deployed Composites section. When these values are large, it can take time to load this page and other pages with similar information.

    Description of soaadmin_fetch1.gif follows
    Description of the illustration soaadmin_fetch1.gif

  3. From the SOA Infrastructure menu, select SOA Administration > Common Properties.

  4. In the Display Data Counts section, select the Disable fetching of instance and fault count metrics checkbox.

  5. Click Apply.

  6. Return to the Dashboard page of the SOA Infrastructure.

  7. Note that the values that previously displayed have been replaced with links.

  8. Click a link.

    Description of soaadmin_fetch2.gif follows
    Description of the illustration soaadmin_fetch2.gif

    The values are calculated for the link you selected. When the calculation is complete, a message displays the total values.

    Description of soaadmin_fetch3.gif follows
    Description of the illustration soaadmin_fetch3.gif

For more information about setting this property, see Section 3.1, "Configuring SOA Infrastructure Properties."

Notes:

  • If you click a link to retrieve instance and fault count metrics, and Oracle Enterprise Manager Fusion Middleware Control times out, increase the transaction timeout property. For more information, see Section B.6, "Resolving Connection Timeouts."

  • If you click Recalculate, and the recalculation occurs quickly, the progress indicator does not have a chance to render. However, any updates to the data are reflected on-screen.

B.4 Resolving Message Failure Caused by Too Many Open Files

You can receive the following error at runtime or compilation time, depending on the number of JAR files being used, the use of file descriptors by JDK 6/JRE, or both.

Message send failed: Too many open files 

To resolve this error, increase the number of file descriptors to at least 4096.

  1. Use the limit command (for the C shell) or the ulimit command (for the Bash shell) to identify the value for descriptors. A value of 1024 is typically too low, especially for JDK 6.

    % limit
    
    cputime      unlimited
    filesize     unlimited
    datasize     unlimited
    stacksize    10240 kbytes
    coredumpsize unlimited
    memoryuse    unlimited
    vmemoryuse   unlimited
    descriptors  1024
    memorylocked 500000 kbytes
    maxproc      46720
    
  2. Log in as the root user on your operating system.

  3. Edit the /etc/security/limits.conf file to increase the value for descriptors.

    For this example, the limits.conf file appears as follows after increasing the limit for all users to 4096:

    #<domain>      <type>  <item>         <value>
    #
    
    #*               soft    core            0
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #@student        -       maxlogins       4
    
    # End of file
    @svrgroup    soft    memlock         500000
    @svrgroup    hard    memlock         500000
    *           soft    nofile          4096
    *           hard    nofile          4096
    
  4. Close your terminal and reopen for the change to take effect. A system restart is not required.

B.5 Extending Tablespaces to Avoid Problems at Runtime

If the database tablespace is not extended, runtime processing can be impacted. Messages are not processed or persisted, and exception errors similar to the following can appear in the log files. This is because Oracle BPEL Process Manager relies on the database to store instance data. If the database is not available, runtime processing is impacted.

INFO: MediatorServiceEngine returning after processing the request for 
operation = processResponse 

[EL Warning]: 2009.01.14 11:46:16.783--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 

Error Code: 1691 
Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.AuditTrail@199b33d) 
[EL Warning]: 2009.01.14 11:46:16.782--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 
. . .
. . .

Ensure that you set a tablespace to automatically extend itself by a specified amount when it reaches its size limit. If you do not enable autoextend, ensure that you respond when alerted that the tablespace is reaching its critical or warning threshold size. You can respond to size alerts by manually increasing the tablespace size.

B.6 Resolving Connection Timeouts

You can receive a connection timeout error under circumstances such as the following:

To avoid receiving timeout errors, increase the transaction timeout property as follows:

  1. Log into Oracle WebLogic Administration Console.

  2. Click JTA.

  3. Change the value of Timeout Seconds (the default is 30).

  4. Click Save.

  5. Restart Oracle WebLogic Server.

B.7 Updating the EJB Transaction Timeout Value in the Deployment Archive After SOA Infrastructure Failure

Updating the transaction time out value for the FacadeFinderBean property in Oracle WebLogic Server Administration Console under Deployments > expanded SOA Infrastructure Application > FacadeFinderBean > Configuration tab can result in the following error after restarting the SOA Infrastructure:

java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy223
implementing
 oracle.bpel.services.workflow.verification.IVerificationService,org.springframe
work.aop.SpringProxy,org.springframework.aop.framework.Advised]
to required type
[oracle.bpel.services.workflow.verification.IVerificationService] for
property 'verificationService': no matching editors or conversion strategy found
Message icon - Warning Errors were encountered while performing this operation.

The SOA Infrastructure status is also displayed as failed.

This error is not specific to FacadeFinderBean; it also applies to any EJB that is part of the SOA Infrastructure application.

To resolve this error, you must manually modify the transaction timeout setting in your deployment archive.

To update the transaction timeout setting:

  1. Open the fabric-ejb.jar file in your deployment archive.

  2. Increase the transaction timeout value in the META-INF/weblogic-ejb-jar.xml file to a larger value.

  3. Rejar the file.

  4. Restart the managed server that includes the SOA Infrastructure by following the instructions in Section 3.2, "Stopping and Starting the Managed Server and SOA Infrastructure."

    Note:

    This issue may also occur while updating any EJBs deployed as part of the SOA Infrastructure application. If this issue occurs, you must update the corresponding contained JAR file for those EJBs in a similar fashion.

B.8 Increasing Database Connection Values

You can receive the following error message because of slow connections to the database.

Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 
090304)): oracle.toplink.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain 
XAConnection weblogic.common.resourcepool.ResourceDeadException: Pool 
SOADataSource has been disabled because of hanging connection tests, cannot 
allocate resources to applications.

If this occurs, perform the following steps:

  1. Open the DOMAIN_HOME\bin\setSOADomainEnv.cmd file.

  2. Uncomment the lines shown in bold.

    # 8331492: Value of weblogic.resourcepool.max_test_wait_secs is 10 
    # seconds. It can be increased by uncommenting line below if your database 
    # connections are slow. See SOA documentation for more details. 
     EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
    -Dweblogic.resourcepool.max_test_wait_secs=30" 
    export EXTRA_JAVA_PROPERTIES 
    
  3. Save your changes and restart the managed Oracle WebLogic Server.

B.9 Resolving MaxMessageSizeExceededException Errors Caused By Large Payloads

If you provide a large payload (for example, 12 MB) to your deployed SOA composite application, then click View XML Document in the audit trail to view the payload, you can encounter MaxMessageSizeExceededException errors. This error can be resolved by setting the following JVM parameter.

  1. Open the following file:

    • On UNIX operating systems, open $MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.sh.

    • On Window operating systems, open MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.bat.

  2. Add the weblogic.MaxMessageSize property with the following value:

    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
    -Dweblogic.MaxMessageSize=20000000"
    export EXTRA_JAVA_PROPERTIES 
    
  3. Restart the server.

B.10 Accessing Oracle Enterprise Manager Fusion Middleware Control on Dual Stack Hosts that Support IPv4 and IPv6

If you run Oracle SOA Suite on a dual stack host that supports both IPv4 and IPv6, you must update the etc/hosts file as shown in Table B-1 for IPv4 clients to access IPv6 URLs in Oracle Enterprise Manager Fusion Middleware Control.

Table B-1 IPv4 and IPv6 Settings in etc/hosts File

On The... Edit the etc/hosts File as Follows....

On the IPv4 client:

xx.xxx.xxx.xxx myhost10-ipv6 

where xx.xxx.xxx.xxx is the IP address of IPv6.

On the IPv6 client

fdf5:74cc:db0a::0:1  myhost10-ipv6 myhost10-ipv6.us.oracle.com

Note: Replace fdf5:74cc:db0a::0:1 with a value appropriate to your host environment.


B.11 Limitation on Using the Safari Browser to View WSDL File Content

If you are using the Safari browser, note the following limitation and workaround for viewing WSDL file contents in Oracle Enterprise Manager Fusion Middleware Control. Note also that Mozilla Firefox works correctly and does not require this workaround.

  1. Go to the home page for a SOA composite application.

  2. Click the Show WSDL and endpoint URI link at the top of the page.

  3. Click the WSDL link that is displayed.

    This opens a blank page that does not display the contents of the selected WSDL.

    As a workaround, perform the following additional steps.

  4. In the upper right corner of this page, click the Display a menu for the current page icon.

  5. Select View Source from the menu that is displayed.

    This displays the contents of the selected WSDL in another page.

B.12 Flow Diagram Does Not Display The First Time on Some Lower End Hosts

The flow diagram for an instance ID of a deployed SOA composite application in Oracle Enterprise Manager Fusion Middleware Control may not display the first time on some lower end hosts. Instead, you receive a failed to load resource message.

As a workaround, close the flow trace page and click the instance ID to return to the flow trace page.

B.13 Setting Logging Levels for Troubleshooting

To simplify troubleshooting, it is recommended that you set logging levels to the TRACE:32 FINEST level in Oracle Enterprise Manager Fusion Middleware Control. This section describes loggers to which to set to this level.

To set logging levels for troubleshooting:

  1. See Section 3.4, "Configuring Log Files" for instructions on accessing the Log Configuration page.

  2. From the Oracle Diagnostic Logging Level (Java Level) list, set the following parent loggers to the TRACE:32 FINEST level:

    • oracle.soa

    • oracle.fabric

    • oracle.integration

    • oracle.wsm (Setting this logger to the ERROR level may also be sufficient because this setting logs the required error messages.)

  3. If you want finer-grained control over logging, expand the parent loggers and set any of the following loggers:

    Component Logger
    Human workflow/approval management extensions (AMX)/rules
    • oracle.soa.services.common
    • oracle.soa.services.identity

    • oracle.soa.services.notification

    • oracle.soa.services.rules

    • oracle.soa.services.rules.obrtrace

    • oracle.soa.services.workflow

    • oracle.soa.services.workflow.common

    • oracle.soa.services.workflow.evidence

    • oracle.soa.services.workflow.metadata

    • oracle.soa.services.workflow.persistency

    • oracle.soa.services.workflow.query

    • oracle.soa.services.workflow.report

    • oracle.soa.services.workflow.runtimeconfig

    • oracle.soa.services.workflow.soa

    • oracle.soa.services.workflow.task

    • oracle.soa.services.workflow.task.dispatch

    • oracle.soa.services.workflow.task.routing

    • oracle.soa.services.workflow.user

    • oracle.soa.services.workflow.verification

    • oracle.soa.services.workflow.performance - Workflow Performance API

    • oracle.soa.services.workflow.worklist - Oracle BPM Worklist

    SOA Infrastructure
    • oracle.fabric.common.wsdl - WSDL/schema management
    • oracle.integration.platform.blocks.deploy - Deployment

    • oracle.integration.platform.blocks.soap - WS binding - Calling web services

    • oracle.integration.platform.blocks.local - Local binding

    • oracle.integration.platform.kernel - Startup issues

    • oracle.integration.plaform.blocks.mesh - Message routing

    • oracle.integration.platform.common - Metadata/MDS

    • oracle.integration.platform.instance - Instance

    • oracle.integration.platform.instance.activity - Instance

    • oracle.integration.platform.instance.store - Instance

    Event Delivery Network (EDN)
    • oracle.integration.platform.blocks.event
    • oracle.integration.platform.blocks.event.saq

    • oracle.integration.platform.blocks.event.jms

    Deployment oracle.integration
    Oracle Mediator
    • oracle.soa.mediator.common - Logs the processing events related to Oracle Mediator audit message persistence.
    • oracle.soa.mediator.common.cache - Metadata cache (RuntimeMetadataCache) and runtime related cache (RuntimeCache).

    • oracle.soa.mediator.common.error - Logs related to error enqueuing and handling.

    • oracle.soa.mediator.common.error.recovery - Logs only the error recovery processing. All fault policy handlers are part of this logger.

    • oracle.soa.mediator.common.listener - Processing related to common infrastructure for Oracle Mediator parallel routing rules and resequencer.

    • oracle.soa.mediator.common.message - Logs related to creation and modification of the Oracle Mediator message. (Oracle Mediator wraps a normalized message into the Oracle Mediator message.)

    • oracle.soa.mediator.common.persistence - Logs related to the persistence of Oracle Mediator deferred messages to the database.

    • oracle.soa.mediator.dispatch - Logs everything related to message routing inside Oracle Mediator. This includes sequential, parallel, and dynamic routing.

    • oracle.soa.mediator.dispatch.db - Logs related to the deferred message and container ID infrastructure.

    • oracle.soa.mediator.dispatch.resequencer.toplink - Logs related to database interactions of the resequencer. This includes execution of all three resequencer strategies.

    • oracle.soa.mediator.monitor - Logs all events related to instance tracking in Oracle Mediator.

    • oracle.soa.mediator.resequencer - Everything related to Oracle Mediator resequencer processing such as locker-worker infrastructure, group, and sequencer ID expression evaluation.

    • oracle.soa.mediator.resequencer.besteffort - For best effort strategy of the resequencer; in particular, the locking stage processing.

    • oracle.soa.mediator.resequencer.fifo - For the FIFO strategy of the resequencer.

    • oracle.soa.mediator.resequencer.standard - For standard strategy of the resequencer.

    • oracle.soa.mediator.service - Logs events related to the processing of various message exchange patterns (one way, two way (synchronous, asynchronous), and so on) in Oracle Mediator.

    • oracle.soa.mediator.service.common.functions - Oracle Mediator XPath extension function-related logs.

    • oracle.soa.mediator.service.filter - Evaluation of filter criteria for routing rules.

    • oracle.soa.mediator.service.transformation - Logs transformation-related events such as the payload before and after the transformation.

    • oracle.soa.mediator.serviceEngine - Logs lifecycle events of the Oracle Mediator service engine. Also logs the entry and exit of messages for Oracle Mediator.

    Oracle BPEL Process Manager
    • oracle.soa.bpel
    • oracle.soa.bpel.console

    • oracle.soa.bpel.engine

    • oracle.soa.bpel.engine.activation

    • oracle.soa.bpel.engine.agents

    • oracle.soa.bpel.engine.bpel

    • oracle.soa.bpel.engine.compiler

    • oracle.soa.bpel.engine.data

    • oracle.soa.bpel.engine.delivery

    • oracle.soa.bpel.engine.deployment

    • oracle.soa.bpel.engine.dispatch

    • oracle.soa.bpel.engine.sensor

    • oracle.soa.bpel.engine.translation

    • oracle.soa.bpel.engine.ws

    • oracle.soa.bpel.engine.xml

    • oracle.soa.bpel.entity

    • oracle.soa.bpel.jpa

    • oracle.soa.bpel.system

    Oracle B2B
    • oracle.soa.b2b.apptransport - Runtime logger
    • oracle.soa.b2b.engine - Runtime logger

    • oracle.soa.b2b.transport - Runtime logger

    • oracle.soa.b2b.ui - User interface logger

    • oracle.soa.b2b.repository - Repository access detailed logger

    Oracle Web Services Manager (OWSM) oracle.wsm - Defaulted to the ERROR level; logs all WSM-0xxxx errors. TRACE:32 results in significant details.

  4. From the Oracle Diagnostic Logging Level (Java Level) list, change the logger level to one of the following settings:

    • TRACE:1 (FINE)

    • TRACE:16 (FINER)

    • TRACE:32 (FINEST) - Most verbose level (recommended for troubleshooting)

    The change takes effect within several minutes.

B.13.1 Log Files and Thread Dumps from All Managed Servers

Table B-2 describes the log files to view and thread dumps to obtain.

Table B-2 Log Files and Thread Dumps

Output Description

Server diagnostic log

View the following file:

$DOMAIN_HOME/servers/server_name/logs/server_name-diagnostic.log

For example, soa_server1-diagnostic.log, if server_name is soa_server1.

This is where the log output is available. By default, only the last 100 MB of the diagnostic logs are retained.

Server log

server_name.log (for example, soa_server1.log, if server_name is soa_server1)

Server console output

<stdout> is also useful, especially for deployment and patching issues.

Server thread dump

Enter the following at the operating system command prompt:

kill -3 managed_server_process_ID

You can also use Oracle WebLogic Server Administration Console.

  1. In the navigation tree of Oracle WebLogic Server Administration Console, select Environment > Servers.

  2. In the table, select the server.

  3. Select the Monitoring tab.

  4. Select the Threads tab.

  5. Click Dump Thread Stacks.

The output is in the console logs.

OWSM message log

The following log captures all SOAP messages on the wire.

$DOMAIN_HOME/servers/server_name/logs/owsm/msglogging/diagnostic.log

This log is not enabled by default. To enable this log:

  1. Go to Fusion Middleware Control > Weblogic Domain > Web Services > Policies.

  2. Choose the security level for which to enable logging.

  3. Edit the policy to enable the log assertion.


B.14 Human Workflow Troubleshooting

This section describes how to troubleshoot human workflow issues.

B.14.1 Task Assignment/Routing/Escalation Issues

Table B-3 describes symptoms, possible causes, and possible solutions for task assignment/routing/escalation issues.

Table B-3 Troubleshooting Task Assignment/Routing/Escalation Issues

Symptom Possible Cause Possible Solution

The task completes without any assignment occurring.

The most common problem is that task assignees are specified using XPath expressions, and the expression does not evaluate to any nodes. Other problems can include incorrect skip conditions for participants.

  1. Correct any issues with the XPath expressions.

  2. Ensure that you get some results for the XPath expression for the given data.

  3. Check the skip conditions specified with the Specify skip rule checkbox for task participants in the Human Task Editor.

The business rules do not return any list builders.

When participants of a task are specified using business rules, it is expected that business rules return at least one list builder. If business rules determine that no participants are needed, the function IgnoreParticipant(...) should be used. If modeled correctly and you still see this error, it is likely that none of the rules fired. See the symptom entitled '"A human workflow task chooses the incorrect user if a number of rules are defined or it errors with the following message:" in this table.

  1. Use the ignoreParticipant(..) function to model your rules.

  2. Ensure the rules are modeled correctly so that at least one rule is fired.

The business rules return list builders of different types.

When participants in a task are specified using business rules, it is expected that business rules return list builders of the same type.

Correct your rules.

A human workflow task chooses the incorrect user if a number of rules are defined or it errors with the following message:

Ruleset returned lists with
different list builder

At runtime, when a human workflow task tries to fetch the list of users, it may error out with the following error:

Ruleset returned lists with different list builder

This error is displayed in the Task Detail comments field. Alternately, the task may select a user or approver, which may not appear to be the correct or expected one. This is primarily caused by having overlapping rules. When the participants of a task are specified using business rules, it is expected that business rules return list builders of the same type.

Moreover, only one rule from a ruleset should be applicable for a transaction. In case a number of rules are true, the actions associated with the applicable rule with the highest priority get executed. In case multiple applicable rules have the same priority, then the first rule in the list is picked and its actions executed.

Avoid writing overlapping rules. Constraints from different list builders are different and cannot be mixed. If more than one rule gets triggered with a different list builder, this error occurs. In addition, only one set of constraints is honored.

Check that all rules in the ruleset have priorities defined so that multiple rules with the same priority are not applicable for the same transaction.

For more details., see Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management.

Parallel assignees have to approve or reject the task even though the parallel completion criteria is met.

In the Add Participant Type dialog for a parallel participant, there is a selection that allows you to configure the human task during runtime to wait for all parallel participants to complete or to complete when criteria is met.

Make the correct selection for completion in the Add Participant Type dialog.

The task is assigned to the group/role when the expectation is that it goes to every user in the group/role individually.

When a group or a role is used as a task assignee, the task is assigned to the group or role directly. Task runtime does not assign it separately. One of the users in the group/role has to claim the task and work on it. When used with a parallel or serial participant, often times it is expected that this resolution to users is automatic, which it is not.

To assign separately to the members of the group or role, use the XPath functions ids:getUsersInGroup and ids:getUsersInAppRole.

A task errors out when invoking the decision service for evaluation of routing rules or rule-based participants.

Payload validation is enabled on the SOA infrastructure instance.

Deselect the Payload Validation checkbox for the instance. For more information, see Section 3.1, "Configuring SOA Infrastructure Properties."


B.14.2 Task Action Issues

Table B-4 describes symptoms, possible causes, and possible solutions for task action issues.

Table B-4 Troubleshooting Task Action Issues

Symptom Possible Cause Possible Solution

A user is not allowed to perform an action on a task.

The most common problem is that the user does not have permissions to perform that action on that task at that point in time.

Find out if the user can be an assignee, owner, or creator of the task, or if they are an administrator. If the user should have been allowed to perform the action, check the server log file for a detailed log message, which includes information such as the task state, task assignees, user who acquired it, permitted actions, roles played by this user for the given task, and so on.


B.14.3 Notification Issues

Table B-5 describes symptoms, possible causes, and possible solutions for notification issues.

Table B-5 Troubleshooting Notifications Issues

Symptom Possible Cause Possible Solution

The task email notification is not being sent out.

Notification Mode is set to NONE on the Workflow Notification Properties page in Oracle Enterprise Manager Fusion Middleware Control.

Change this setting to Email or All. For information, see Section 19.1, "Configuring Human Workflow Notification Properties."

The email notification is not being sent out.

Incorrect outgoing server settings are used in the email driver configuration.

Check the SMTP port/SMTP host/user name/password/email values.

Tip: Validate the values by using them in any email client for connecting to the SMTP server.

Perform the following steps to verify the settings in Oracle Enterprise Manager Fusion Middleware Control:

  1. In the navigator, right-click User Messaging Service.

  2. Select usermessagingdriver-email > Email Driver Properties.

  3. Check the settings.

The notifications are sent, but are not actionable.

The Actionable Address field is not configured.

In Oracle Enterprise Manager Fusion Middleware Control, configure the Actionable Address field with a valid email address. For information, see Section 19.1, "Configuring Human Workflow Notification Properties."

Ensure that the same email address is used when configuring the incoming server setting in the Oracle User Messaging Server email driver. For information, see Section 19.1, "Configuring Human Workflow Notification Properties."

Notifications are sent, but are not actionable.

The human workflow task is not set to send actionable notifications.

In the Human Task Editor (you can double click the .task file in Oracle JDeveloper to start the editor), expand the Notification section, click the Advanced tab, and select the Make notification actionable checkbox.

Actionable notifications are sent, but no action is taken after responding.

The Actionable Address field is incorrect.

Check the IMAP/POP3 server/port values. Ensure the Actionable Address field is used in the email driver configuration.

Tip: Validate the values by using them in any email client for connecting to the IMAP/POP3 server.

Actionable notifications are sent, but no action is taken after responding.

The nondefault email client is configured for receiving notifications.

When the user clicks the approval link, the default mail client page opens, which may send emails to a different email server. Configure the default email client to receive actionable notifications.

Enter the correct value in the Actionable Email Account field of the Workflow Task Service Properties page as the incoming, actionable email account to use. The default account name is Default.

For information, see Section 19.2, "Configuring Human Workflow Task Service Properties."

Actionable notifications are sent but no action is taken after responding.

An email client is configured with the same account used in the email driver.

The mail may be downloaded and marked as read or deleted by the email client before the human workflow notification service can download and process the mail. Remove that account from the email client.

The Oracle BPM Worklist link appears in email notifications.

This is the default behavior. By default, email notifications point to Oracle BPM Worklist.

Perform the following steps:

  1. In the Notification section of the Human Task Editor, click the Advanced tab.

  2. Deselect the Show worklist URL in notifications checkbox.

Performance is slow for group notifications.

The group notification performance depends on the number of members in the group (size of group).

  1. Provide an email ID for the group in LDAP. In this case, human workflow sends one email to the group email ID, instead of individual emails to each group member.

  2. In the Notification section of the Human Task Editor, click the Advanced tab.

  3. If you want to send one email to all group members, select Send one email containing all user addresses from the Group notification configuration list. This enables all members to see the to list and common content is sent to all members (without considering locale, and so on).

  4. If you want to send individual emails but reuse content between members, select Send individual emails (the default selection) from the Group notification configuration list and unselect Use separate task forms based on locale. This enables group members to receive individual mails in their locale. Task forms generated for creating notification content are reused between members in the same locale.


B.14.4 Task View Issues

Table B-6 describes symptoms, possible causes, and possible solutions for task view issues.

Table B-6 Troubleshooting Task View Issues

Symptom Possible Cause Possible Solution

Showing custom (mapped attribute) columns in a view.

Attribute mappings are created for specific task types. The view must be associated with one or more task types to use mapped attributes.

In Oracle BPM Worklist (view/create/edit UI), specify a task type for the view in the Definition tab. The attribute labels used in the mappings for that task type are now available as columns that can be used in the view in the Display tab.

It is possible to associate a view with more than one task type. Multiple task types can be selected from the Task Type browser. If multiple task types are selected, then the attribute labels for all those task types are available for use in the view.

View grantees can view and edit tasks belonging to the view owner.

The view is shared as data. This type of sharing allows grantees to use the view as if they are the view owner, and can see and act on the view owner's task.

In the Definition tab of Oracle BPM Worklist (view/edit UI), ensure that Share View is set to Definition only, which enables grantees to use the view against their own tasks. Setting Share View to Data enables grantees to use the view against the view owner's data.

Creating a new standard view.

Only users with administration privileges can create standard views.

  1. Ensure the logged-in user has administration privileges.

  2. Define the view as usual, using Oracle BPM Worklist (create/edit UI).

  3. Check the add to standard views checkbox.

    The view is created as a standard view.

Internationalizing a standard view name.

The value specified in the name field for standard views can be used as a resource key to look up a display name from the WorkflowLabels resource bundle.

Add a new resource key to the WorkflowLabels resource bundle. The key is the name you used for the view, prefixed by STD_VIEW. (note the required trailing period).

For more information about resource bundles, see workflow sample workflow-110-workflowCustomizations:

https://soasamples.samplecode.oracle.com

Migrating views and standard views you have created on one instance to another SOA server.

You must use the test-to-production utility.

The test-to-production utility enables you to export user views and standard views as an XML file, and to import the views from the XML file into another instance. For information about this utility, see Section 21.6, "Moving Human Workflow Data from a Test to a Production Environment."


B.14.5 Task Attribute Mapping Issues

Table B-7 describes symptoms, possible causes, and possible solutions for task attribute mapping issues.

Table B-7 Troubleshooting Task Attribute Mapping Issues

Symptom Possible Cause Possible Solution

No payload attributes are available for mapping to a public attribute in Oracle BPM Worklist.

Oracle BPM Worklist only supports creation of mappings to simple payload attributes. Only simple attributes from the task payload are displayed for creating mappings in Oracle BPM Worklist.

  • Add simple attributes to the payload.

  • Create protected mappings at design time. Mappings can be made to be complex payload attributes using XPath expressions for protected attribute mappings at design time in Oracle JDeveloper.

  • Use the RuntimeConfigService API to create public mappings using XPath expressions.

You cannot create mappings for the protected attribute label in Oracle BPM Worklist.

Protected mappings can only be created as part of the task definition at design time. Protected mappings cannot be created or updated at runtime using Oracle BPM Worklist, or the RuntimeConfigService API.

  • Use a public attribute label for the mapping.

  • Create the mapping to the protected attribute label in the task definition at design time.

You cannot see any attribute labels for which to create mappings in Oracle JDeveloper.

Design-time mappings can only be created for protected attribute labels. Ensure that protected attribute labels have been created in the SOA instance to which you are connected.

  1. Log in to Oracle BPM Worklist as an administrator.

  2. Go to Administration > Protected Flexfields.

  3. Check that protected attribute labels exist.

  4. Create any protected attribute labels as required.

Internationalizing the name of an attribute label.

The attribute label name can be used as a resource key to look up a display name from the WorkflowLabels resource bundle.

Add a new resource key to the WorkflowLabels resource bundle. The key is the name you used for the label, prefixed by FLEX_LABEL. (note the trailing period).

For more information on the resource bundle, see the workflow sample workflow-110-workflowCustomizations :

https://soasamples.samplecode.oracle.com

Migrating attribute labels and mappings from one server to another.

Use the test-to-production utility.

The test-to-production utility enables you to export public attribute labels, public attribute mappings, and protected attribute labels as an XML file, and to import the labels and mappings from the XML file into another instance.

For more information, see Section 21.6, "Moving Human Workflow Data from a Test to a Production Environment."


B.14.6 Task Report Issues

Table B-8 describes symptoms, possible causes, and possible solutions for task report issues.

Table B-8 Troubleshooting Task Report Issues

Symptom Possible Cause Possible Solution

You receive the following error:

Null Pointer Exception when
running Task Productivity
Report

This is caused by an issue with handling of dates when the worklist client locale and server default locale are different.

The workaround is to change the locale for the worklist client to be the same as the server, or to run a report without specifying dates.


B.14.7 Task History Issues

Table B-9 describes symptoms, possible causes, and possible solutions for task history issues.

Table B-9 Troubleshooting Task History Issues

Symptom Possible Cause Possible Solution

The Add Participant button is disabled.

A current or past participant is selected in the history table,

This is designed behavior. Adding adhoc participants is not allowed with respect to the current or past participant. The current participant means the task is with that participant at that point in time.

All the added adhoc participants disappeared after a page refresh.

You may not have saved your modifications to the history table.

Ensure that you save your changes. Otherwise, all changes disappear. If you think you have saved your changes and the changes still disappear, file a bug.

Do not see future approvers in the history table.

The Future Approvers checkbox may not be selected.

Select the Future Approvers checkbox in Oracle BPM Worklist (configuration in the task sequence table).

You see the message in the history table about the correlation ID not being passed or any exception related to the correlation ID.

If the task is uninitiated, the correlation ID may not have been passed.

Ensure that you pass the correlation ID to the uninitiated task.

The edit toolbar is disabled or is not displayed.

The user may not have privileges to edit the participants.

  1. In the Assignment tab of the Human Task Editor, click the Task will go from starting to final participant icon in the upper right corner.

    The Configure Assignment dialog is displayed.

  2. Select the Allow participants to edit new participants and Allow initiator to add participants checkboxes.

You receive the following error:

<Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService>
 <BEA-000000><ADFc:
 /META-INF/adfc-config.xml: > 
  <Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService><
ADFC-52024> <ADFc: Duplicate
 managed bean definition for
 'aleCompBindings' detected.> 

Shared library oracle.soa.worklist.webapp is referenced in weblogic.xml and the JAR files adflibWorklistComponents.jar and adflibTasklistTaskflow.jar are packaged in the web application.

These JARs ideally should not be packaged inside the web application. They should only be referenced as a shared library. Do not package these JARs in the web application.

You receive the following error:

<Error> <Deployer>
 <BEA-149265> <Failure
 occurred in the execution of
 deployment request with ID
 '1297964056778' for task
 '3'. Error is:
 'weblogic.management.Deployme
ntException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.Deploymen
tException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].

Shared library oracle.soa.workflow.wc is referenced in weblogic.xml, but not available on the server.

Ensure that this shared library is deployed on the server to which you are deploying your application. It may happen that the shared library is deployed, but not targeted, for that server.

You receive the following error:

java.lang.IllegalStateExcepti
on: Attempt to validate an
already invalid RegionSite: 

This is a generic exception that sometimes is displayed in the server logs (for example, AdminServer.log).

See the real exception in the diagnostic logs (for example, AdminServer-diagnostic.log) and provide that exception with the bug you file.

You receive the following error:

[AdminServer] [NOTIFICATION]
 [J2EE JSP-00008]
 [oracle.j2ee.jsp] [tid:
 [ACTIVE].ExecuteThread: '15'
 for queue:
 'weblogic.kernel.Default
 (self-tuning)'] [userId:
 weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e
3444eb1b:-8000-0000000000002f
0a,0] [APP: FederatedApp_
application1] unable to
 dispatch JSP page: The
 following exception
 occurred:.[[
java.lang.RuntimeException:
 Cannot find FacesContext
        at
javax.faces.webapp.UIComponen
tClassicTagBase.getFacesConte
xt(UIComponentClassicTagBase.
java:2122) 

This is a common mistake and is not related to any components you are using. You forget to put faces in the URL. For example:

http://server:port/FederatedApp
/test.jspx

Put faces in the URL as follows:

http://server:port/FederatedApp/fac
es/test.jspx\\

B.14.8 Task Form/Action Issues

Table B-10 describes symptoms, possible causes, and possible solutions for task form/ action issues.

Table B-10 Troubleshooting Task Form/ Action Issues

Symptom Possible Cause Possible Solution

The task form application does not have an empty JSPX page.

N/A

The task forms are now invoked using an ADF task flow and control is returned to the module that initiated the task form task flow when the task flow completes. Therefore, no empty JSPX is needed.

The task form does not load in Microsoft Internet Explorer.

Microsoft Internet Explorer has a URL length limit.

Your task form URL length is too long.

Deployment fails with a class not found exception.

The shared library entry is missing from weblogic.xml.

If you see the following error:

Caused By:
 java.lang.ClassNotFoundException:
oracle.bpel.services.datacontrol.ty
pes.Number 

during deployment of a task form, then it is likely due to the missing shared library in weblogic.xml. Add the following element in weblogic.xml:

<library-ref>
 <library-name>oracle.soa.worklist.w
 ebapp</library-name>
 <specification-version>11.1.1</spec
 ification-version>
</library-ref> 

Deployment/access of task form fails when the hostname is used.

The DNS entry is missing.

If you are using a server with DHCP, the DNS entry may be missing for the host. Therefore, deployment/access using the IP address may succeed, but deployment/access using a hostname may fail. Update your client machine by manually adding the host/IP address:

  • On Windows operating systems, this is typically is in %windir%\drivers\etc\lmhosts.

  • On Linux/Unix, this is typically in /etc/hosts.

Task form URL protocol (HTTP or HTTPS).

You are unable to access the task form through HTTPS or HTTP.

  • DefaultToDoTaskForm: The worklist accesses the default to-do task form using the port/protocol returned by the getServerInfo API from the runtime config service. This API uses the frontend host setup for the cluster or managed server. It gives preference to the HTTPS protocol if it is enabled. It is dynamic and can be changed using Oracle Enterprise Manager Fusion Middleware Control for default to-do tasks as the other custom task form.

  • CustomTaskForm: The custom task form gets the HTTP and HTTPS information from the setup. It uses the JRF API to get the information. This gets the frontend host information from the cluster and then the managed server if the cluster frontend host is not set up. In case the managed server frontend host is not set up, it uses a regular port. If the user enables the HTTPS port during deployment, the task form stores this information in the database. After this, if the user disables the HTTPS port using Oracle WebLogic Server Administration Console, then the user must remove the HTTPS port for the task form using Oracle Enterprise Manager Fusion Middleware Control.


B.14.9 Task Comments/Attachment Issues

Table B-11 describes symptoms, possible causes, and possible solutions for task comments/attachment issues.

Table B-11 Troubleshooting Task Comments/Attachment Issues

Symptom Possible Cause Possible Solution

The file is not getting uploaded.

The file is too big

By default, ADF has a size limit of 2000 KB for each request. Add the following parameters in web.xml to adjust file size and temporary storage for uploaded files:

<context-param>
  <!-- Maximum memory per request
(in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_MEMORY</param-name>
  <!-- Use 500K -->
  <param-value>512000</param-value>
</context-param>
<context-param>
  <!-- Maximum disk space per
 request (in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_DISK_SPACE</param-name>
  <!-- Use 5,000K -->
 <param-value>5120000</param-value>
</context-param>
<context-param>
  <!-- directory to store temporary
 files -->
<param-name>oracle.adf.view.faces.U
PLOAD_TEMP_DIR</param-name>
  <!-- Use an ADFUploads
 subdirectory of /tmp -->
<param-value>/tmp/ADFUploads/</para
m-value>
</context-param>

The file uploaded in the task details application is not visible in the same task flow.

After uploading a file, the attachment link generated in task form is invalid. Clicking this link returns an empty stream.

When you upload a file, you see the attachment link in the table. However, this link does not work. You must reload the task details to view the file.

Adding file attachments creates a new task version, but adding a URL attachment does not create a new version.

Inconsistent behavior of URL attachment and file attachment

When a file is uploaded, the task is saved because the file is uploaded to persistency storage. This creates a new task version. The URL attachments only update the local task object in the user interface application. Therefore, no task version is created.


B.14.10 Design Time at Runtime Issues

Table B-12 describes symptoms, possible causes, and possible solutions for design time at runtime issues. Two design time at runtime tools are available for use:

  • Oracle SOA Composer

  • Task Configuration tab of Oracle BPM Worklist

Table B-12 Troubleshooting Design Time at Runtime UI Issues

Symptom Possible Cause Possible Solution

Modifications made to a task in a design time at runtime tool do not appear for the task.

The task was instantiated before you actually edited it using a design time at runtime tool.

Design time at runtime updates go into effect only for instances created after the changes, and not for those that were created prior to the change.

Therefore, if you edit a task using a design time at runtime tool, and then instantiate a new task, the new instance of the task has the changes you made.

Modifications made to a task in a design time at runtime tool do not appear for the task.

The changes made were probably not committed to the MDS repository.

The Save button just saves the changes made in a design time at runtime tool to the sandbox. To see these changes in action, click Commit to send them to the MDS repository.


B.14.11 Human Workflow API (Including SOAP/EJB) Usage Issues

Table B-13 describes symptoms, possible causes, and possible solutions for human workflow API (including SOAP/EJB) usage issues.

Table B-13 Troubleshooting Human Workflow API Usage Issues

Symptom Possible Cause Possible Solution

Location of the JavaDoc for human workflow APIs.

N/A

See Oracle Fusion Middleware Workflow Services Java API Reference for Oracle BPEL Process Manager, which is available in the documentation library.

Understanding the API usage.

N/A

  1. Refer to the API documentation.

  2. See sample workflow-118-JavaSamples.

    https://soasamples.samplecode.oracle.com
    

Using .net to access the APIs.

N/A

It is possible to write a .net client that accesses the SOAP web service APIs. See sample workflow-119-DotNetSample.

https://soasamples.samplecode.oracle.com

You receive Class not found errors when attempting to use the Java API clients.

Not all required JAR files are in the client class path.

See the workflow-118-JavaSamples definition of client.classpath in the build.xml ant file. The sample includes all required JAR files.

https://soasamples.samplecode.oracle.com

Creating a routing slip for simple patterns to use with a simple approval task or to dynamically route a task during task initiation.

N/A

See oracle.bpel.services.workflow.task.impl.SimpleApprovalTaskUtil.


B.14.12 Oracle JDeveloper Data Control / Form Generation Issues

Table B-14 describes symptoms, possible causes, and possible solutions for Oracle JDeveloper data control/form generation issues.

Table B-14 Troubleshooting Oracle JDeveloper Data Control / Form Generation Issues

Symptom Possible Cause Possible Solution

Empty1.jspx is not generated when creating the task form.

Created an initiator task based on an XSD element and tried to autogenerate the task form.

This file is not required except for the BPM initiator task. If you encounter it, create an Empty1.jspx file in the same directory as referenced by adfc-config.xml and put the following content in it:

<?xml version='1.0'
 encoding='UTF-8'?><jsp:root
xmlns:jsp="http://java.sun.com/JSP/
Page" version="2.1"xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/a
df/faces/rich">  <jsp:directive.page
contentType="text/html;charset=UTF-8"/>
  <f:view>
    <af:document id="d1">
      <af:form id="f1"></af:form>
    </af:document>
  </f:view>
</jsp:root>

B.14.13 Human Workflow Service/ System MBean Browser Issues

Table B-15 describes symptoms, possible causes, and possible solutions for human workflow service/System MBean Browser issues.

Table B-15 Troubleshooting Human Workflow Service/ System MBean Browser Issues

Symptom Possible Cause Possible Solution

Setting commonly used human workflow configuration parameters.

N/A

Use the Workflow Task Service and Workflow Notification pages of Oracle Enterprise Manager Fusion Middleware Control:

  1. In the navigator, right-click soa-infra.

  2. Select SOA Administration > Workflow Notification Properties to access notification properties.

  3. Select SOA Administration > Workflow Task Service Properties to access task service properties.

Setting human workflow configuration parameters not available in the Oracle Enterprise Manager Fusion Middleware Control properties pages.

N/A

Use the System MBean Browser in Oracle Enterprise Manager Fusion Middleware Control:

  1. In the navigator, right-click soa-infra.

  2. Select SOA Infrastructure >Administration > System MBean Browser.

  3. Select Application Defined MBeans > oracle.as.soainfra.config > server > WorkflowConfig > human-workflow.

  4. Set simple parameters by editing the appropriate field in the Attributes tab, and clicking Apply.

  5. Make more complex parameter changes (for example, adding a new locale) by switching to the Operations tab, selecting the appropriate operation, entering required fields, and clicking Invoke.

The System MBean Browser does not reflect my changes after editing the human workflow configuration MBeans.

The System MBean Browser is showing a previously cached version of beans.

Click the refresh cached tree data button in the System MBean Browser.

Human workflow services are not locating resource bundles or classes located at the workflow customizations class path URL.

The protocol is not specified in the URL, or the URL is missing a trailing forward slash (/).

Ensure that the configured URL is formatted correctly, and specifies a protocol. Note that if the class path points to a directory (rather than a JAR file), it is important that the URL has a trailing forward slash character. For example:

file:///home/wstallar/wfcustomizati
ons/

Manually setting the URL used for displaying task details for a particular task component.

N/A

Use the Administration page in Oracle Enterprise Manager Fusion Middleware Control for the human task service component.

See Section 21.3, "Managing the URI of the Human Task Service Component Task Details Application" for instructions.

You can edit or delete existing task display URL entries, and add new entries. For task display URLs used from Oracle BPM Worklist, the application name must be set to worklist.


B.14.14 AMX Extension Issues

Table B-16 describes symptoms, possible causes, and possible solutions for AMX extension issues.

Table B-16 Troubleshooting AMX Extension Issues

Symptom Possible Cause Possible Solution

The dynamic approval group class is not found.

The class file is not accessible in the Oracle SOA Suite class path

To make the dynamic approval group class accessible, the class file must be placed in the following directory:

$FMW_HOME/SOA_HOME/soa/modules/ora
cle.soa.ext_11.1.1/classes

This directory is part of the SOA class path.

The Oracle WebLogic Server must be restarted.

During design time at runtime, while defining a rule based on the Approval Group list builder, a message keeps appearing indicating that the group does not exist.

The Approval Group name is not enclosed in quotes (" ")

Enclose the name in quotes (for example, "Sample Approval Group Name").

In a ruleset, a number of rules defined are applicable for a transaction. It appears that the correct constraints are not getting applied; therefore, the generated approver list is not correct.

Only one rule from a ruleset should be applicable for a transaction.

In case a number of rules are true, the actions associated with the applicable rule with the highest priority are executed.

In case multiple applicable rules have the same priority, the first rule in the list is picked and its actions are executed.

Check that all rules in the ruleset have priorities defined so that multiple rules with the same priority are not applicable for the same transaction.


B.14.15 Oracle BPM Worklist/Task Region Issues

Table B-17 describes symptoms, possible causes, and possible solutions for Oracle BPM Worklist/task region issues.

Table B-17 Troubleshooting Oracle BPM Worklist/Task Region Issues

Symptom Possible Cause Possible Solution

You receive the following exception message in the logs:

<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService>
<BEA-000000><ADFc:
/META-INF/adfc-config.xml: >
<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService><ADFC-5
2024> <ADFc: Duplicate managed
bean definition for
'aleCompBindings' detected.> 

The shared library oracle.soa.worklist.webapp is referenced in the weblogic.xml file and also the JAR files adflibWorklistComponents.jar and adflibTasklistTaskflow.jar are packaged in the web application.

These JARs ideally should not be packaged inside the web application. They should only be referenced as a shared library. Do not package these JARs in the web application.

You receive the following exception message in the logs:

Duplicate default server in
client configuration.
Configuration needs to have only
one default server in client
configuration.
Specify one default server in
client configuration. 

Two default servers are specified in the client configuration file or in the JAXB object passed to the task flow.

Mark only one server as the default in the client configuration file or in the JAXB object passed.

You receive the following exception message in the logs:

The default server is not
specified 

The default server is not specified in the client configuration file or in the JAXB object passed to the task flow.

Ensure that the default server is marked in the client configuration file or the JAXB object.

You receive the following exception message in the logs:

Invalid display column.
The display column COLUMN NAME
is not a valid Task column.
Specify a valid column name.

The column name passed to the task flow parameter displayColumnsList is not correct.

Ensure that you pass the correct column name to the task flow parameter.

You receive the following exception message in the logs:

java.lang.IllegalStateException:
Attempt to validate an already
invalid RegionSite: 

This is a generic exception that sometimes appears in server logs (for example, AdminServer.log).

See the real exception in the diagnostic logs (for example, AdminServer-diagnostic.log) and provide that exception with the bug you can file.

You receive the following exception message in the logs:

Caused by:
oracle.adf.controller.Controller
Exception: ADFC-02001: The ADF
Controller cannot find
'/WEB-INF/taskList-task-flow-def
inition.xml'

The Oracle BPM Worklist JARs are not provided in the class path, either by referring to the shared library oracle.soa.worklist.webapp or by packaging those in the web application.

Ensure either the JARs are referred through the shared library or packaged inside the application.

Filters for the task list are removed when the task list is refreshed.

Because an inbox is not a persisted view, filters set on it are removed when rendering the page again or refreshing the task list.

Instead of setting filters on the task list, create a user view with the required set of filters and pass the viewId of that view as the value of parameter ViewFilter. This makes that view the default view of the task list.

You have set the taskTypesFilterList parameter, but instead of seeing assigned tasks, you are seeing all tasks.

If you specified the taskTypesFilterList parameter, then you forgot to specify the attributesFilterList parameter.

You have to use both parameters with the AND operator. For example:

<parameter
id="taskTypesFilterList"
value="http://xmlns.oracle.com/H
elpDeskRequestSOAApp/HelpDeskReq
uestComposite/HelpDeskRequestHum
anTask,[
http://xmlns.oracle.com/Vacation
RequestApp/VacationRequest/Vacat
ionRequestTask]"/>

<parameter id=
"attributesFilterOperator"
value="and"/>
 <parameter id= "attributesFilterList"
 value="state=ASSIGNED"/>

You receive the following exception message in the logs:

[AdminServer] [NOTIFICATION]
 [J2EE JSP-00008]
 [oracle.j2ee.jsp] [tid:
 [ACTIVE].ExecuteThread: '15'
 for queue:
 'weblogic.kernel.Default
 (self-tuning)'] [userId:
 weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000002f0a,0]
 [APP: FederatedApp_
application1] unable to dispatch
 JSP page: The following
 exception occurred:.[[
java.lang.RuntimeException:
 Cannot find FacesContext 
at
javax.faces.webapp.UIComponentCl
assicTagBase.getFacesContext(UIC
omponentClassicTagBase.java:2122)

This is a common mistake that is generic in nature and is not related to any components you are using. You forgot to put faces in the URL. For example:

http://server:port/FederatedApp/test.jspx

Put faces in the URL as follows:

http://server:port/FederatedApp/
faces/test.jspx

You receive the following exception message in the logs:

[AdminServer] [TRACE] [] []
[tid: [ACTIVE].ExecuteThread:
'5' for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000001d39,0]
[SRC_CLASS:
oracle.bpel.services.workflow.cl
ient.config.ClientConfigurationU
til] [APP: FederatedApp_
application1] [SRC_METHOD:
getClientConfiguration]
WorkflowServiceClientContext:
Cannot find client
configuration file: wf_client_
config.xml 

There are three possible causes for this issues:

  1. The client configuration file is not provided in the class path.

  2. The JAXB object is not passed to the task flow.

  3. If one of the above is provided, the port number for the remote/SOAP client is incorrect.

Ensure either the client configuration file wf_client_config.xml is provided in the class path or the JAXB object is passed to the task flow. If it is already done, ensure that the port number refers to the SOA server.

You receive the following exception message in the logs:

<Error> <Deployer> <BEA-149265>
<Failure occurred in the
execution of deployment request
with ID '1297964056778' for
task '3'. Error is:
'weblogic.management.DeploymentE
xception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.DeploymentEx
ception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false]. 

Shared library oracle.soa.workflow.wc is referenced in weblogic.xml, but is not available on the server.

Ensure that this shared library is deployed on the server on which you are deploying your application. The shared library may be deployed, but not targeted, for that server.

You cannot see the mapped attributes mapped columns.

Note: Oracle BPM Worklist flex fields are now known as mapped attributes.

The right set of parameters is not being passed to the task list task flow.

The correct set of parameters to be passed is as follows:

<parameter id= "displayColumnsList"
value="assignees,creator,
assignedDate,state,
textAttribute1,textAttribute2"/>

textAttribute1,textAttribute2 is the correct way to provide a value for the column name. Providing 'label name'(Name of the mapping) associated with these values does not work.

You must specifically pass the fully qualified value to parameter taskTypesFilterList. Otherwise, the column creation does not work.

For example:

<parameter
 id="taskTypesFilterList"
value="http://xmlns.oracle.com/Hel
pDeskRequestSOAApp/HelpDeskRequest
Composite/HelpDeskRequestHumanTask
"/>

B.14.16 Test-to-Production Issues

Table B-18 through Table B-21 describe symptoms, possible causes, and possible solutions for test-to-production issues.

Table B-18 Troubleshooting Test-to-Production Issues

Symptom Possible Cause Possible Solution

Finding the default realm name for a SOA server

N/A

The defaultRealmName can be obtained from the identity configuration service. You can get this from the SOAP service test page.

  1. From a browser, go to the following URL:

    http:HOST:PORT/integration/servic
    es/IdentityService/configuration
    
  2. Select getDefaultRealmName from the Operation drop-down menu.

  3. Click the Invoke button.

This retrieves the default realm name. Here is a sample answer from an invocation:

<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap
/envelope/">
 <env:Header/>
 <env:Body>
  <realmName
xmlns="http://xmlns.oracle.com/bpel/servi
ces/IdentityService">jazn.com</realmName>
 </env:Body>
</env:Envelope>

Table B-19 Troubleshooting Test-to-Production Issues

Symptom Possible Cause Possible Solution

User authentication error (in the following example, the user is FMW_USERID and the identity context is jazn.com): Assume you encounter the following error:

[java] Error in workflow service Web
service operation invocation. The
error is ORA-30501:Error in
authenticating user.
[java] Error in authenticating and
creating a workflow context for
user jazn.com/FMW_USERID. [java]
Verify that the user credentials
and identity service configurations
are correct.

This occurs if the given user is not seeded and available in the LDAP provider.

To find out if the user is seeded properly, try to log in to Oracle BPM Worklist from a browser as this user. If the user can log in to Oracle BPM Worklist, that means the user is seeded.

If Oracle Internet Directory or another other LDAP provider is used, ensure the configuration of the LDAP provider is completed correctly. Otherwise, you cannot get past this error.

Import of task payload mapped attributes (previously known as flex field) mappings:

While importing task payload mapped attribute mappings into the target SOA server, you may encounter the following error in the console logs:

[java] Caused by:
java.sql.SQLIntegrityConstrain
tViolationException: ORA-02291:
integrity constraint (UAT_
SOAINFRA.SYS_C0018364) violated -
parent key not found* * 

The importing of task payload mapped attribute mappings into the target SOA server is a two-step process.

Even before the import of task payload mapped attribute mappings into the target SOA server operation is attempted, there is a prerequisite step that must be performed. This is the import of attribute labels into the target SOA server operation.

To be successful, perform the following operations (in the correct order) with the human workflow test-to-production migration tool:

  1. Import attribute labels into the target SOA server.

  2. Import payload mappings into the target SOA server.

See Section 21.6, "Moving Human Workflow Data from a Test to a Production Environment" for more details.


Table B-20 Troubleshooting Test-to-Production Issues

Symptom Possible Cause Possible Solution

Assume you encounter the following error during rule migration:

[java]  Error encountered during
migration. [java] Exception in thread "main"[java] 
UserConfigDataMigrationException:[java]
faultString:Invalid parameters for RULE.
[java] Invalid user and group: both
parameters can not have null values.[java] To migrate User Rules,
provide the 'user' parameter only.
[java]  To migrate Group Rules, provide
the 'group' parameter only.[java]
oracle.bpel.services.workflow.util.
tools.wfUserConfigDataMigrator.
UserConfigDataMigrationE xception [java]
at oracle.bpel.services.workflow.
util.tools.wfUserConfigDataMigrator. implhwfMigrator.parseParametersNode

There are two properties in the migration.properties file that are of interest for this error.

  • user

  • group

During any rule migration (whether export or import) operation, at most one of them (user or group) should have a value. That is, both user and group cannot have null or empty values.

Set values for at most one of them. To perform user rule migration, set the user parameter alone. To perform group rule migration, set the group parameter alone.

Assume you encounter the following error during rule migration:

[java]  Error encountered during
migration.[java] Exception in
thread "main"[java] 
UserConfigDataMigrationExcepti
on: [java]  faultString:
Invalid parameters for RULE.
[java]  Invalid user and group: both
 parameters can not have values.
[java]  To migrate User Rules,
 provide the 'user'parameter only. 
[java]  To migrate Group Rules,
 provide the 'group' parameter only.
[java]  oracle.bpel.services. workflow.util.tools.wfUserConfigData
Migrator.UserConfigDataMigrationE
xception 

This is similar to the previous explanation.

During any rule migration (whether export or import) operation, both user and group parameters cannot have a value.

Provide values for at most one of them.


Table B-21 Troubleshooting Test-to-Production Issues

Symptom Possible Cause Possible Solution

Testing the health of the installed server

N/A

Before performing a test-to-production migration, it is useful to test the health of the server.

From a browser, you can test some SOAP services. The following list provides a subset of human workflow services and Oracle BPM Worklist:

http://host:port/integration/worklistapp/

http://host:port/integration/services
/TaskQueryService/TaskQueryService

http://host:port/integration/services/IdentityService/configuration

http://host:port/integration/services/IdentityService/identity

http://host:port/integration/services/RuntimeConfigService/RuntimeConfigService

You can randomly test some operations in these services, and verify that the operation yields results. Similarly, you can log in as a user to Oracle BPM Worklist and see if everything is fine.


B.14.17 Identity Service Issues

Table B-22 and Table B-23 describe symptoms, possible causes, and possible solutions for identity service issues.

Table B-22 Troubleshooting Identity Service Issues

Symptoms Possible Cause Possible Solution

Only a subset of users in LDAP can log in to Oracle BPM Worklist.

The user base DN is not configured properly.

Mention the user base under which all the groups are seeded. This can be performed in two ways:

Add the base DN under which all the required groups are seeded. For instance, if users are seeded under:

UserDN 1 : cn=users1,dc=us,dc=oracle,dc=com
UserDN 2 : cn=users2,dc=us,dc=oracle,dc=com
UserDN 3 : cn=users3,dc=us,dc=oracle,dc=com

Then mention the group base DN as follows:

dc=us,dc=oracle,dc=com

This is the common DN. If only some user DNs are required (for example, UserDN1 and UserDN2), then the following property must be added to serviceInstance with the name idstore.ldap in the $DOMAIN_HOME/config/fmwconfig/jps-config.xml file:

<serviceInstance name="idstore.ldap"
 provider="idstore.ldap.provider">
 <property name="idstore.config.provider" 
value="oracle.security.jps.wls.internal.idstore.WlsLd
apIdStoreConfigProvider"/>
 <property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
 <extendedProperty>
   <name>user.search.bases</name>
   <values>
      <value>cn=users1,dc=us,dc=oracle,dc=com</value>
      <value>cn=users2,dc=us,dc=oracle,dc=com</value>
   </values>
 </extendedProperty>
</serviceInstance>

Users and groups seeded only in the first authenticator are visible, but not from the other authenticators.

By default, users and groups from the first authenticator are authorized.

Starting with 11.1.1.4, you can authorize users and groups from multiple authenticators. Add the following property to the idstore instance in the $DOMAIN_HOME/config/fmwconfig/jps-config.xml file.

<serviceInstance name="idstore.ldap"
  provider="idstore.ldap.provider">
   ............................
   <property name="virtualize" value="true"/>
   ..............................
</serviceInstance> 

Table B-23 Troubleshooting Identity Service Issues

Symptom Possible Cause Possible Solution

The following exception appears when myrealm (the default realm in the Oracle WebLogic Server Administration Console configuration) is passed as a parameter to the identity context to the Identity Service APIs.

Exception seen :
 Service"
Unknown macro: {0}
"in configuration" 
Unknown macro: {1}
" could not be
initialized. Error
in initializing
service
"Authentication"
in configuration
"myrealm".

The human workflow identity service uses the identity context that is set in the WorkflowIdentityConfig file (by default, it is jazn.com) and not from the Oracle WebLogic Server configuration. Therefore, in the customer code, if jazn.com is passed as the identity context, the authenticate API should work fine.

To change the realm name, the WorkflowIdentityConfig file can be edited in the System MBean Browser of Oracle Enterprise Manager Fusion Middleware Control.

  1. In the navigator, right-click soa-infra.

  2. Select SOA Infrastructure > Administration > System Mbean Browser.

  3. Select Application Defined Mbeans > oracle.as.soainfra.config > Server > WorkflowIdentityConfig > human-workflow > WorkflowIdentityConfig.ConfigurationType.

  4. Select the configuration and rename it by invoking the operation setRealmName. This change requires a server restart.

After configuring LDAP with Oracle WebLogic Server, the users are visible in the Oracle WebLogic Server Administration Console, but the following error is thrown:

No Role found
matching the
criteria

The group's base DN is not configured properly. Either the group that is being looked up is not present in LDAP or it may be seeded outside the group base DN that is mentioned while configuring LDAP.

Mention the group base under which all the groups are seeded. This can be performed in two ways.

Add the base DN under which all the required groups are seeded. For instance, if groups are seeded under:

GroupDN 1 : cn=groups1,dc=us,dc=oracle,dc=com
GroupDN 2 : cn=groups2,dc=us,dc=oracle,dc=com
GroupDN 3 : cn=groups3,dc=us,dc=oracle,dc=com

Then mention the group base DN as follows:

dc=us,dc=oracle,dc=com

This is the common DN. If only some group DNs are required (for example, GroupDN1 and GroupDN2), then the following property must be added to serviceInstance with the name idstore.ldap in the $DOMAIN_HOME/config/fmwconfig/jps-config.xml file.

<serviceInstance name="idstore.ldap"
 provider="idstore.ldap.provider">
   <property name="idstore.config.provider"
value="oracle.security.jps.wls.internal.idstore.WlsL
dapIdStoreConfigProvider"/>
 <property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
  extendedProperty>
  <name>group.search.bases</name>
  <values>
    <value>cn=groups1,dc=us,dc=oracle,dc=com</value>
    <value>cn=groups2,dc=us,dc=oracle,dc=com</value>
  </values>
 </extendedProperty>
</serviceInstance>