7 Oracle Fusion Middleware on IBM WebSphere

This chapter describes issues you might encounter when you install and configure supported Oracle Fusion Middleware products on IBM WebSphere. It includes the following topics:

Note:

This chapter contains issues you might encounter while installing, configuring, or managing any of the Oracle Fusion Middleware products on IBM WebSphere.

Be sure to review the product-specific release note chapters elsewhere in this document for any additional issues specific to the products you are using.

7.1 General Issues and Workarounds

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

7.1.1 Oracle Business Process Management Causes java.lang.OutOfMemoryError on IBM WebSphere Application Server

When Oracle Business Process Management (Oracle BPM) is installed on IBM Websphere Application Server, a java.lang.OutOfMemoryError occurs when running automation tests. This is because the default memory configuration for Websphere Application Server is set too low for this. This does not occur when Oracle BPM is installed on IBM Websphere Network Deployment.

As a workaround, make the following changes to the JVM properties:

  • Initial heap size increased to 1024MB

  • Maximum heap size increased to 2148MB

  • MaxPermSize increased to 512 MB

  • Verbose garbage collection is selected

7.1.2 Cannot Create an XA Connection Factory in the IBM WebSphere Administration Console

You cannot create an XA connection factory as a messaging provider in the IBM WebSphere Administration Console. The connection factories created by default are non-XA types. For example:

  1. Go to IBM WebSphere Administration Console:

    http://host:port/ibm/console
    
  2. Go to Resources > Queue connection Factories.

  3. Attempt to create an XA-based connection factory.

    There is no provision to select an XA mode. You can only create non-XA connection factories.

7.1.3 Accessibility Mode for User Messaging Preferences is Ignored on an IBM WebSphere Application Server

On an IBM WebSphere Application Server instance, the Screen Reader for accessibility mode will not be set even if you have selected the Screen Reader mode from the drop-down list on the User Messaging Preferences login screen.

As a workaround, set the accessibility mode on the User Messaging Preferences login screen as follows:

  1. Go to Oracle UMS User Messaging Preferences UI:

    http://host:port/sdpmessaging/userprefs-ui
    
  2. Enter a valid user name and password.

  3. In the Accessibility Mode drop-down list, select Standard, and click Login.

  4. After logging in, click the Settings link at the top right corner of the User Messaging Preferences page.

  5. From the Accessibility Mode options, select Screen Reader.

  6. Click the Home link to go to the User Messaging Preferences page. The Screen Reader mode will be enabled.

Note:

The Settings options in UMS User Messaging Preferences is session based. If you log out or close the browser, you will lose the accessibility mode settings. You will need to reset the settings after each login.

7.1.4 Adding Shared Libraries to Deploy a Task Form from Oracle JDeveloper

When you deploy a SOA composite application with a task flow from Oracle JDeveloper to the SOA server on IBM WebSphere, the application cannot be started correctly due to a ClassNotFound error. The shared library of the application is empty.

As a workaround, perform the following steps:

  1. Go to IBM WebSphere Administration Console.

  2. Select Applications > Application Types > WebSphere Enterprise Applications > task_form_name > Shared library references.

  3. Manually add adf.oracle.domain_1.0_11.1.1.2.0 and oracle.jsp.next_11.1.1_11.1.1.

  4. Restart the application.

7.1.5 Setting Cookie Paths for Oracle SOA Suite Applications

By default, applications deployed on IBM WebSphere have their cookie path set to "/". This default setting means that all applications on the same IBM WebSphere cell share the same session identifier. Therefore, as you move between applications, the session identifier value for the previous application is overwritten.

For example, if you access Oracle SOA Composer (/soa/composer), then access Oracle Enterprise Manager (/em), and then return to Oracle SOA Composer (/soa/composer), you are prompted to log in again because the previous session identifier value is overwritten at the point at which you log in to Oracle Enterprise Manager.

Section "Setting Cookie Paths for WebCenter Portal Application Modules Post Deployment" of the Oracle Fusion Middleware Third-Party Application Server Guide describes how to specify unique cookie paths for each application. This action enables you to avoid session invalidation as you move between applications.

In Step 4 of that section, where you click Manage Modules in IBM WebSphere Administration Console to select the modules to manage, and Step 5, where you specify the cookie path, note the following Oracle SOA Suite details to specify.

Target Server Application Name Modules Cookie Path

soa_server1

composer

(Oracle SOA Composer)

soa-composer-was.war

/soa/composer

 

worklistapp

(Oracle BPM Worklist)

worklist-was.war

/integration/worklistapp

bam_server1

oracle-bam

(Oracle BAM)

bam-web.war

/OracleBAM

soa_server1/bam_server1

usermessagingserver

(Oracle User Messaging Server)

sdpmessaginguserprefs-ui-web.war

/sdpmessaging/userprefs-ui

OracleAdminServer

em

(Oracle Enterprise Manager)

em.war

/em


After performing these tasks, you must restart the target servers (soa_server1, bam_server1, and OracleAdminServer).

7.1.6 Deploying a SOA Composite Application to a SOA Cluster

When you deploy a SOA composite application from Oracle JDeveloper, you cannot select the application server to which to deploy. Instead, the application is deployed to the Deployment Manager by default.

As a workaround, log in to the IBM WebSphere Administration Console, uninstall the application from the Deployment Manager, and reinstall the application to the SOA cluster by using the generated .ear file.

7.1.7 Cannot Deploy a SOA Bundle File from Oracle Enterprise Manager Fusion Middleware Control

You cannot deploy a SOA bundle file from Oracle Enterprise Manager Fusion Middleware Control. As a workaround, use the wsadmin command line shell.

For example, assume vacationapproval.zip is a SOA bundle file that includes three SOA composite applications.

wsadmin> soa.sca_deployComposite("http://myhost.us.example.com:7001",
"/tmp/vacationapproval.zip")

For more information about wsadmin commands, see Section "Oracle SOA Suite wsadmin and WLST Command Differences" of the Oracle Fusion Middleware Third-Party Application Server Guide.

7.1.8 One-and-Only-One Event Subscriptions Are Not Supported

Business events are published to the Event Delivery Network (EDN). EDN provides support for delivering events to one-and-only-one subscribers, in which the event is sent to the subscriber in its own global (that is, JTA) transaction. However, one-and-only-one subscriptions are not supported when using EDN with IBM WebSphere Server.

As a workaround, change the one and only one consistency level of the event subscription to guaranteed in the Create Mediator dialog.

Note:

This change downgrades the consistency level. Therefore, a system failure may cause an event to be delivered more than once because there is no global transaction. If the subscriber fails to process the event, the event is not resent.

7.1.9 Deployed Task Form Startup Failure in IBM WebSphere Administration Console

When you attempt to start a deployed task form application in the IBM WebSphere Administration Console, it fails. You receive an error message similar to the following:

Was2Form failed to start. Check the logs for server dmgr on node
DefaultCellManager01 for details.
ErrorAn error occurred while starting Was2Form. Check the logs for server
dmgr on node DefaultCellManager01 for more information.

As a workaround, perform the following steps:

  1. Deploy the task flow in Oracle JDeveloper at the application level, instead of the project level. This generates the EAR file.

  2. Undeploy the task flow from the IBM WebSphere Administration Console. Save directly to the master configuration to synchronize changes to all nodes.

  3. Deploy the EAR file generated in step 1 through the IBM WebSphere Administration Console.

    1. Go to Websphere Enterprise Applications > Install > Pick EAR from Locale file system.

    2. Click Next (use the default options).

    3. On step 2 of the deploy page "Map modules to servers," select all modules, highlight only the SOA server (for example, soa_server1), and click Apply.

    4. On step 3, "Map virtual hosts for Web modules," select the WAR file.

    5. At the end, save directly to the master configuration again.

  4. Select the EAR file to start it.

7.1.10 Oracle BPM Worklist Displays as Undefined in Administration Console

If you configure an Oracle SOA Suite cluster or single server environment on IBM WebSphere, you may receive an error when accessing Oracle BPM Worklist indicating that it is undefined. If you log in to IBM WebSphere Administration Console, and select Applications > WebSphere enterprise applications > worklistapp > Shared library references, and see that only one row (worklistapp) is displayed when two rows should display (worklistapp and worklist-was.war), you must perform the following steps.

  • Uninistall Oracle BPM Worklist (known as worklistapp in the IBM WebSphere Administration Console).

  • Re-install Oracle BPM Worklist.

To uninistall Oracle BPM Worklist:

  1. Log in to the IBM WebSphere Administration Console.

  2. From the panel on the left hand side, select Applications > Application Type > WebSphere enterprise applications.

  3. Select the check box for worklistapp from the Enterprise Applications list.

  4. Click the Stop button to stop worklistapp.

  5. Select worklistapp again.

  6. Click the Uninstall button, and click OK.

  7. Select Review from the Save and Review options.

  8. Select Synchronize changes with nodes, and click Save.

  9. Wait until configuration synchronization is complete, then click OK.

  10. Confirm that worklistapp is now removed (uninstalled) from Enterprise Applications.

To re-install Oracle BPM Worklist:

  1. If not already there, navigate to Applications > Application Type > WebSphere enterprise applications.

  2. Click Install.

  3. Select the Remote file system option:

    1. Click Browse > DefaultCellDepMgrNode.

    2. Click the root directory (/), and go to your ORACLE_HOME.

    3. Navigate to soa/applications.

    4. Select worklist-was.ear, and click OK.

  4. Select the default Fast Path, and click Next.

  5. Select the installation options:

    1. Change the name Oracle BPM Worklist to worklistapp, and click Next.

  6. Map the modules to the servers:

    1. Select the check boxes for the two modules (jar and war).

    2. From the Clusters and servers list, select server=soa_server1 or the server or cluster on which Oracle SOA Suite is installed.

    3. Click Apply.

    4. Confirm that the two modules now have the correct server value (for example, soa_server1) in the server column.

    5. Click Next.

  7. Map the virtual hosts for the web modules:

    1. Select the one web module.

    2. Click Next.

  8. On the Summary screen, review the information, and click Finish.

    Output displays on the screen, and you are prompted to save or review your local changes.

  9. Select Review.

  10. Save your workspace changes:

    1. Click Synchronize changes with Nodes.

    2. Verify that Total changed documents is 29 (if not, there may be an error).

    3. Click Save.

  11. Wait until configuration synchronization is complete, then click OK.

    The worklistapp is now installed and ready to be started.

  12. Verify that the worklistapp is present in the Enterprise Applications list.

  13. Select worklistapp, and click Start.

  14. Confirm that the Application Status is up.

  15. Test that Oracle BPM Worklist in accessible by visiting the following URL:

    http://host:port/integration/worklistapp
    

7.1.11 Dashboard Tab May Display Completed SOA Composite Instance States as Running

The Dashboard tab of a SOA composite application in Oracle Enterprise Manager Fusion Middleware Control may show the state of an instance as running even though the instance has actually completed. In this scenario, verify the actual instance state on the Flow Trace page.

7.1.12 Two-Way SSL Configuration with Oracle SOA Suite Is Not Supported

Two-way SSL configuration on IBM WebSphere is not supported. Therefore, there is no support for Oracle Web Service Manager (OWSM) two-way security policies that are SSL-configured. Note that one-way SSL is supported (for example, in which you create an SSL-configured SOA service that invokes another SOA service).

7.1.13 Multiple Fault Recovery Failure with the Recover With Options Dialog

If you click Recover With Options on the Fault and Rejected Messages tab of a SOA composite application, and attempt to recover all faults by selecting Recover All in the Recover With Options dialog, the faults are not recovered and display as pending. The problem only occurs with the Recover With Options dialog. Individual instance recovery and selecting multiple instances for recovery works correctly.

7.1.14 IBM WebSphere Application Server - ND Installation Requires a Server Restart

If you install IBM WebSphere Application Server - Network Deployment (ND) for use with Oracle SOA Suite, you must restart the server for JCA adapter binding components to be active. Otherwise, JNDIs are not active, and you receive the following error message:

Non Recoverable System Fault :
BINDING.JCA-12563 Exception occured when binding was invoked. Exception
occured during invocation of JCA binding: "JCA Binding execute of Reference
operation 'Write' failed due to: JCA Binding Component connection issue. JCA
Binding Component is unable to create an outbound JCA (CCI) connection.
File_MEDComposite:WriteMed [ Write_ptt::Write(body) ] : The JCA Binding
Component was unable to establish an outbound JCA CCI connection due to the
following issue: BINDING.JCA-12510 JCA Resource Adapter location error. 
. . .
. . .

7.1.15 Test Emulations of Asynchronous BPEL Processes Fail

You cannot create test emulations involving asynchronous BPEL processes in a SOA composite application on IBM WebSphere. During test execution, this results in an CannotInstantiateObjectException exception error.

7.1.16 SETMANAGEDCONNECTION() Fails with ILLEGALSTATEEXCEPTION for the AQ Adapter

When running Oracle AQ Technology Adapter cases on the WebSphere Platform, you might encounter the following error:

javax.resource.spi.ResourceAllocationException: setManagedConnection: illegal state exception. State = STATE_ACTIVE_FREE MCW = 28392839

To follow-up on this exception, IBM PMR # 69026,756 has been created

7.1.17 Invalid PolicySet Error When Accessing a Deployed Oracle Fusion Middleware Application on IBM WebSphere

When you deploy an application using Oracle Fusion Middleware on IBM WebSphere, you might receive the following runtime error:

oracle.fabric.common.PolicyEnforcementException: PolicySet Invalid:
WSM-06102 PolicyReference The policy reference URI
oracle/wss_username_token_service_policy is not valid

To workaround this issue, perform the following steps:

  1. Open the policy-accessor-config.xml file, which can found at the following location:

    WAS_HOME/profiles/Dmgr01/config/cells/DefaultCell/fmwconfig/
    
  2. Locate the policy-accessor properties and uncomment the following properties and set the value of each property as shown:

    <property name="active.protocol">
        remote
    </property>
    <property name="java.naming.provider.url">
        corbaloc:iiop:hostname:rmi.port
    </property>
    

    In this example, replace hostname and rmi.port to identify the host and RMI port where the policy manager is running.

No restart is required. By default, the new version of the policy-accessor-config.xml is loaded every 10 mins. However, if you want to pick up the changes immediately, then you can restart the server.

7.1.18 Cannot Stop or Start Oracle Internal Applications From Fusion Middleware Control on IBM WebSphere

When running Oracle Enterprise Manager Fusion Middleware Control on IBM WebSphere, you might experience errors if you attempt to stop or start the internal Oracle applications that are displayed under the Internal Applications folder in the target navigation pane.

The applications listed here are internal Oracle applications. You should not start or stop these applications from Fusion Middleware Control. If you must stop or start these applications, then start or stop the managed servers that host the internal applications.

7.1.19 For the JMS Adapter, Instances Become Recoverable Even Without Failover

When the SOA JMS adapter is installed on WebSphere and is communicating with the IBM WebSphere Default JMS Messaging provider, you must set the property Persistent message reliability to Assured persistent rather than Reliable persistent; otherwise, an incorrect setting can result in loss of messages.

Also, occasionally when the failover scenario does not occur, you can see situations that include an error (transaction timing out, or the closing of JMS session) from the IBM WebSphere JMS, making instances become recoverable. If this happens, you need to manually recover the instances from the Oracle Enterprise Manager.

7.1.20 HTTP 500 Error Accessing Spaces Workflow Notifications in the Worklist Task Flow

If Spaces workflows fail to register several shared libraries at deployment time, you may see the following HTTP 500 error when you access Spaces workflow notifications, such as a space membership invitation, from a Worklist task flow in the Spaces application:

Error 500: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet 

The associated BPEL server log entry for this error in /IBM/WebSphere/AppServer/profiles/Server1/logs/soa_server1/soa_server1/SystemOut.log is:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory

To resolve the error, navigate to the application (WebCenterWorklistDetailApp) in the Admin Console and include the missing shared library references (oracle.jsp.next_11.1.1_11.1.1 and adf.oracle.domain_1.0_11.1.1.2.0):

  1. Go to IBM WebSphere Administration Console.

  2. Select Applications > Application Types > WebSphere Enterprise Applications > WebCenterWorklistDetailApp > Shared library references.

  3. Manually add adf.oracle.domain_1.0_11.1.1.2.0 and oracle.jsp.next_11.1.1_11.1.1.

  4. Restart the application.

Note:

The same issue can occur for other applications, such as usermessagingsca-ui-worklist. If this is the case, follow similar steps to resolve the issue. See also, Section 7.1.4, "Adding Shared Libraries to Deploy a Task Form from Oracle JDeveloper".

7.2 Configuration Issues and Workarounds

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

7.2.1 Error Configuring a Cell When IBM WebSphere Installed on Windows 2003 and 2008

When IBM WebSphere is installed on Windows 2003 or Windows 2008, the following error sometimes displays when you attempt to create a cell:

WebSphere Profile Update Failed!
No Changes Were Saved To The WebSphere Profile
Profile Location: x:\mydir\APPSER~1\profiles\Dmgr02
Reason Exception saving changes to WebSphere configuration

The issue is due to the Jython libraries shipped with IBM WebSphere. As a workaround:

  1. Locate and edit the file:

    WAS_HOME\optionalLibraries\jython\Lib\javaos.py
    
  2. Locate the function: _getOsType

  3. Edit the _osTypeMap variable to return "nt" as the default.

    _osTypeMap = ( 
            ( "nt", r"(nt)|(Windows NT)|(Windows NT 4.0)|(WindowsNT)|" 
                    r"(Windows 2000)|(Windows XP)|(Windows CE)" ), 
            ( "dos", r"(dos)|(Windows 95)|(Windows 98)|(Windows ME)" ), 
            ( "mac", r"(mac)|(MacOS.*)|(Darwin)" ), 
            ( "None", r"(None)" ),
            ( "nt", r"(.*)" ), # default - posix seems to vary mast widely 
            ) 
    
  4. Save the changes.

7.2.2 Configuring Coherence for a SOA Cluster on IBM WebSphere

When you configure a SOA cluster on IBM WebSphere, you must configure Oracle Coherence with the host names and other required cluster properties.

For Oracle WebLogic Server environments, refer to the Oracle Coherence configuration information "Configuring Oracle Coherence for Deploying Composites" in the Oracle Fusion Middleware High Availability Guide.

When configuring a SOA Cluster on IBM WebSphere, you perform a similar set of tasks, using the following instructions that are specific to IBM WebSphere:

  1. Login to the IBM WebSphere Administrative Console.

  2. Navigate to the Java Virtual Machine Custom Properties page:

    Servers > soa_server_name > Java and Process Management > Process Definition > Java Virtual Machine > Custom Properties

  3. Add the following properties:

    • For a multicast cluster:

      tangosol.coherence.clusteraddress
      tangosol.coherence.clusterport
      
    • For a unicast cluster:

      tangosol.coherence.wka1 (= host1)
      tangosol.coherence.wka2 (= host2)
      tangosol.coherence.localhost = (host?)
      tangosol.coherence.wka1.port
      tangosol.coherence.wka2.port
      tangosol.coherence.localport
      

7.2.3 Limitations When Configuring Oracle Business Activity Monitoring for High Availability on IBM WebSphere

When you install and configure Oracle BAM on IBM WebSphere, you cannot configure the Oracle BAM servers in the high availability, two-node configuration as described "Configuring High Availability for Oracle BAM" in the Oracle Fusion Middleware High Availability Guide.

Instead, when configuring Oracle BAM on IBM WebSphere, you must use a cold failover configuration. For more information, see "Active-Passive Topologies for Oracle Fusion Middleware High Availability" in the Oracle Fusion Middleware High Availability Guide.

7.2.4 Requests Received by IBM HTTP Server (IHS) Are Routed to the Fusion Middleware Welcome Page

When using Fusion Middleware products on IBM WebSphere ND with an IBM @ HTTPServer (IHS) front end, requests coming in to the Content Server may instead be routed to the Fusion Middleware Welcome page that is running on the cell's Administration Server (OracleAdminServer).

For requests to be properly routed to the Content Server, perform the following steps after fully configuring the cell.

Refer to IBM's Network Deployment documentation for detailed information about editing, propagating, and regenerating the plugin-cfg.xml file:

  1. Disable automatic propagation of the plugin-cfg.xml file.

    For example:

    IBM/HTTPServer/plug-in/config/webserver1/plugin-cfg.xml
    
  2. Manually regenerate plugin-cfg.xml.

  3. Manually edit plugin-cfg.xml to remove any entries that may cause requests to be routed to OracleAdminServer.

  4. Manually propagate plugin-cfg.xml to the IHS Web server plugin.

If you update the cell after performing these steps, you might see this issue again. If so, then repeat these configuration steps.

7.2.5 Registering WSRP/JPDK Producers in an IBM WebSphere Application Server Instance

Users are not able to register WSRP/JPDK Producers in Oracle WebCenter Portal's Pagelet Producer Console in an IBM WebSphere Application Server instance. To resolve this issue, follow the steps below to add the necessary role (AppConnectionManager) to the Pagelet Producer application.

  1. Open WebSphere Admin Console.

  2. Under WebSphere Applications Deployment, right-click pagelet-producer and select Security and Application Roles.

  3. Click Application stripe and select pagelet-producer.

  4. In the Starts with field, enter AppConnectionManager and click Search. Select the AppConnectionManager role and click Edit.

  5. Under Members, click Add to open a dialog that allows you to search for principals and assign the necessary users or groups to the role. Select the required user(s) and click OK to close the dialog.

  6. Click OK to save the application settings.

  7. Restart the WC_Portlet managed server (the updated security settings do not take effect until the server is restarted).

7.2.6 Single Sign-On Logout Not Working

Global logout in the OAM Single Sign-On(SSO) setup on WebSphere is not available if the following property is set to true in your WebSphere instance:

com.ibm.ws.security.addHttpOnlyAttributeToCookies=true