11 Oracle WebLogic Server

This chapter describes issues associated with Oracle WebLogic Server. It includes the following topics:


For a list of bugs that were fixed in WebLogic Server 11g Release 1 (10.3.1) or WebLogic Server 11g Release 1 (10.3.2), log in to My Oracle Support and enter the appropriate document ID in the Search Knowledge Base field. You must enter the entire document ID.

Document ID for the 10.3.1 fixed bugs list: 982209.1

Document ID for the 10.3.2 fixed bugs list: 1063554.1

The 10.3.2 list includes fixed bugs for both the WebLogic Server 10.3.1 and 10.3.2 releases.

11.1 General Issues and Workarounds

This section describes the following issues and workarounds:

11.1.1 Oracle WebLogic Server Version Number

Oracle Fusion Middleware 11g contains Oracle WebLogic Server 11g. The version number of Oracle WebLogic Server is 10.3.2.

11.1.2 Version Number on Oracle WebLogic Server Documentation

Oracle WebLogic Server documents that were updated for Release 11g Patch Set 1 display the following WebLogic Server version number:

11g Release 1 (10.3.1)

The WebLogic Server documents that were updated for Patch Set 1 will have a print date of October 2009 on the title page of PDFs and printed documents. The document part number revision on the updated PDF, printed, and HTML versions is -02 (for example, E14529-02) instead of -01.

11.1.3 Oracle ojdbc14.jar File Has Been Changed to ojdbc6.jar

The Oracle ojdbc14.jar file has been changed to ojdbc6.jar, for use with JDK 5 or 6. As a result, any explicit references you make to ojdbc14.jar must be changed to ojdbc6.jar.

11.1.4 Strong Password Enforcement May Cause Issues With WLST Offline Scripts

With the implementation of strong password enforcement (8 character minimum with one numeric or special character) in this release of WebLogic Server, existing scripts could potentially encounter issues.


Use either of the following workarounds to bypass the new password restrictions.

  • Set the BACKWARD_COMPAT_PW_CHECK environment variable to true.

  • Include the -Dbackward.compat.pw.check=true option when invoking WLST.

Oracle recommends that you change passwords to comply with the new password requirements, as this variable and option will be removed in a future release of WebLogic Server.

11.1.5 In Turkish Locale, MDS Initialization Fails

Any applications that use an MDS repository cannot be deployed or run with the JAXB version bundled with WebLogic Server as null values are returned for attributes named id.


Start the server in English locale.

11.2 Administration Console Issues and Workarounds

This section describes the following issues and workarounds:

11.2.1 Cached JDBC Information is not Displayed

Information about cached JDBC statements is not displayed on the JDBC Monitoring pages.

11.2.2 Pressing Browser Back Button Discards Context

After a page flow completes in the Administration Console, it forwards to a different page, typically a table.

Pressing the browser Back button at this point results in an attempt to load the last JSP file in the completed assistant. At this point, all of the context for this assistant is discarded.


Oracle recommends that you do not use the browser Back button to step back into an assistant once changes are cancelled or finished, and that you do not go back to a previous step in an assistant. Instead, use the navigation links and buttons in the Administration Console.

11.2.3 Unsupported Work Manager Configurations Can Be Created

The Administration Console permits the creation of Work Manager configurations that are not supported and do not function as intended. Incorrect Work Manager configurations may result in a number of exceptions being recorded in the server logs, most commonly 'Validation problems were found' exceptions while parsing deployment descriptors.


Follow the guidelines described in the online help for Work Manager configurations. Specifically, you can only assign one request class to any given Work Manager, and that request class must be of the same or a broader scope than the Work Manager. You should not assign an application-scoped request class to a global Work Manager, and you should not create more than one application-scoped request class for an application-scoped Work Manager.

Correcting the Work Manager configurations to match the documented constraints resolves these issues.

11.2.4 Server Status Table Reflects Inconsistent Information

The Server Status table on the Cluster: Monitoring: Summary page includes two default columns: Primary and Secondary Distribution Names. These fields do not always reflect all of the replication statistics that are collected and displayed on the Cluster: Monitoring: Failover page, depending on the replication scenario.

Please refer to the Cluster: Monitoring: Failover page for definitive information.

11.2.5 Exceptions When Defining a Security Policy for an EJB

When defining security policies in the Administration Console for an EJB deployment that references types defined in a separate library deployment, exceptions can be observed if that library deployment is not available to the Console.


All library deployments should be targeted at the WebLogic Server Administration Server as well as any Managed Servers needed to support referencing applications. This will ensure that when defining policies, the Console will have access to those library deployments so that referenced types can be class-loaded as needed.

11.2.6 Administration Console Does Not Always Reflect External Changes Made in a Deployment Plan

The Administration Console does not always reflect external changes made in a deployment plan. If a change is made in a deployment plan outside of the Console (for example, using Workshop, editing the plan text files directly, or updating a deployment with a new plan using WLST or webLogic.Deployer) while a Console user is also viewing that deployment plan, the Console user will not see those changes.


Navigate to a configuration page for a different deployment, then navigate back to the original deployment again.

11.2.7 Screen Reader Configuration Must Be Changed in Order to Read Link Title Attributes

To improve its level of accessibility to blind users, in certain situations, the Administration Console provides title attributes for links whose purpose or target needs a better explanation than the link text alone provides. The primary case is when links are part of a 'simulated tab' group, and of which 'tab' is currently selected. However, screen reader users need to make a configuration change for these link title attributes to be read instead of the visible link text.

The following instructions are provided for the leading screen reader, JAWS (by Freedom Scientific):

To configure JAWS to read link titles:

  1. With WebLogic Server as the active browser window, activate JAWS' Personalized Settings dialog by pressing Insert+Shift+V.

  2. For JAWS versions 6.x, 7.x, and 8.x:

    Navigate to the Links With Text Only setting, then select the Title option (toggle through the values by pressing the spacebar).

    For JAWS version 9.x:

    Expand the Links Options node, navigate to the Text Links option, then select the Show Using Title option (toggle through the values by pressing the spacebar).

  3. Select Close to save the configuration change.

11.2.8 Oracle OCI Driver Support

The Oracle OCI driver is no longer explicitly listed as a preconfigured driver type in the Administration Console.


The Oracle OCI driver remains a supported driver for application data connectivity, consistent with prior releases of Oracle WebLogic Server. However, users must now specify all required configuration properties manually, including the data base username.

11.2.9 Resource Changes May Not Be Reflected in Console Restart List

The WebLogic Server Administration Console's Change Center includes a link to display a list of servers that need to be restarted to reflect current configuration changes. Some configuration changes, such as those to a WLDF system resource, are not reflected in this list and may result in the Activate button on the Change center being enabled even after activating changes.


You may need to restart the affected Managed Servers before you can make further configuration changes. You can view the current pending changes using the following WLST commands:

java weblogic.WLST





11.3 Apache Beehive Support Issues and Workarounds

There are no known Apache Beehive Support issues in this release of WebLogic Server.

11.4 Clustering Issues and Workarounds

There are no known Clustering issues in this release of WebLogic Server.

11.5 Configuration Issues and Workarounds

This section describes the following issues and workarounds:

11.5.1 Use the -Dfile.encoding Property When Running WLST in Windows in a Non-English Locale

WLST can be run with localized messages by setting the desired locale. You should be aware of the following issue when running WLST in a non-English locale.

On Windows operating systems, if a DOS command window's active code page is different from the system's local (ANSI) code page, you must add the -Dfile.encoding=<DOS window's active code page> property to the WLST process when starting WLST via a DOS command window. This changes the default character set for the Java process. For example:

  • The active code page for a DOS window is 850. This can be achieved by issuing the chcp command in the WLST command window.

  • The system's local (ANSI) code page is 1250. You can determine the system's local code page by viewing the value of the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NLS\CodePage\ACP key in the Windows registry. Files that are created by standard Windows editing tools (such as Notepad or Wordpad) are encoded in this way.

In this situation, you can start WLST as follows:

set WLST_PROPERTIES="-Dfile.encoding=cp850"


11.5.2 WebLogic Configuration Tools Can Fail If WebLogic Installation Path Contains Spaces

On some Microsoft Windows platforms, the WebLogic configuration tool commands (including wlst, config, pack, and unpack) can fail if the WebLogic installation path contains a space. In this case, the command may fail with a java.lang.ClassNotFoundException, where the class is derived from the portion of the installation path after the space. The commands fail when short file name generation has been disabled in the Windows registry.


You must enable short name generation in the Windows registry in order for spaces to be properly handled by the configuration tools. To enable short name generation:

  1. Run regedit.

  2. Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem folder.

  3. Double-click NtfsDisable8dot3NameCreation and set its value to 0.

  4. Reboot for the change to take effect.

11.6 Connector (Resource Adapter) Issues and Workarounds

There are no known Connector (Resource Adapter) issues in this release of WebLogic Server.

11.7 Console Extensions Issues and Workarounds

There are no known Extensions issues in this release of WebLogic Server.

11.8 Core Server and Core Work Manager Issues and Workarounds

This section describes the following issues and workarounds:

11.8.1 Threads Become Stuck While Waiting to Get a Connection

When a machine that is hosting one of the Managed Servers is abruptly shut down, a network cable is pulled, or its network interface card has issues, and any server attempts communication with that managed server, threads become stuck waiting to get a connection.


This can currently be resolved by using a private flag:


and setting an appropriate timeout value that will release the thread attempting to make the connection and allow the request to fail quickly.

11.8.2 Using IPv6-Formatted Addresses

When using an IPv6-formatted address for WebLogic Server, the URL should include square brackets ('[' and ']') for the host address. Otherwise, WLST may fail to connect to the running server.


Add square brackets to the host address. For example:


11.8.3 Server Cannot Be Started After a Whole Server Migration

If the WebLogic Server Administration Server is down when a Whole Server Migration occurs for a clustered server, and the server migrates to a machine on which it was never run before, the server cannot be started on the new machine.


Use one of the following workarounds for this issue:

  • Ensure that the Administration Server is up when the server migration is being performed.

  • Use a shared disk/NFS for all the migratable servers in the cluster.

11.8.4 Object State is not Retained After Renaming Field

When FastSwap is enabled in a J2EE application, you can make certain types of changes to Java classes during development and expect to see the change without re-deploying, with all instance states of the Java object being retained.

One type of change that does NOT retain the object state is that when a field name is changed, it is treated as follows:

  • the field with old name is deleted

  • the field with new name is added

Thus, in this case, any state in the old field is not carried over to the renamed field.

Using the Workshop or FastSwap ant task, you may see a FastSwap operation completed successfully message, even when an instance field name change causes a value reset.


You should expect an instance value to be reset when you change a field name.

11.8.5 Servers Configured to Listen on a Hostname Are Listening on a Different Hostname After Startup

When using a hostname to specify configuring the listen address on the WebLogic Server Administration Server or a Managed Server, machines that are configured with multiple Ethernet cards may listen on a different hostname after startup. For example:

  • The machine has 3 Ethernet cards

  • Card 1 is mapped to hostname1-s (DNS registered hostname)

  • Card 2 is mapped to hostname1-i (DNS registered hostname)

  • Card 3 is mapped to hostname1 (actual node's hostname)

  • You configure the server to listen on hostname1

  • After starting the server, it is listening on hostname1-s because Windows resolves the actual node's hostname to the first enabled Ethernet card address


Use one of the following three workarounds for this issue:

  1. Use the IP address, instead of the hostname, as the listen address of the WebLogic Server Administration Server. On Managed Servers, use the IP address as the listen address, or configure the actual physical hostname to the first Ethernet card in the machine.

  2. Add the following entry to the C:\Windows\system32\drivers\etc\hosts file on the machine:

    <ip_address> <hostname>

  3. Change the order of the network cards in the machine so that the card with the actual node's hostname is Card 1.

11.8.6 Edits to startWebLogic.cmd Are Required for Proper Server Migration

Included per bug 8419752, RN bug 9304290, found in 10.3.2, Windows

When performing server migrations on Windows, if you do not comment out some lines in startWebLogic.cmd, the following error message is displayed when restarting a migrated server:

Unable to create a server socket for listening on channel "Default". The 
address <server_ip> might be incorrect or another process is using port 8001: 
java.net.BindException: Cannot assign requested address: JVM_Bind 


If you are using scripted Node Manager, you do not need to use the following workaround.


For correct behavior of server migration in a Windows environment, edit the startWebLogic.cmd file for the domain, and comment out the following lines:

if [ "${SERVER_IP}" != "" ] ; then
       ${WL_HOME}/common/bin/wlsifconfig.sh -addif "${IFNAME}" 
if [ "${SERVER_IP}" != "" ] ; then 
    ${WL_HOME}/common/bin/wlsifconfig.sh -removeif "${IFNAME}" "${SERVER_IP}" 

Leave these lines commented to permantly resolve the issue.

11.9 Deployment Issues and Workarounds

This section describes the following issues and workarounds:

11.9.1 security-permission Element is not Available in weblogic-application.xml

The security-permission element is available in the weblogic.xml and weblogic-ejb-jar.xml deployment descriptors, but is not available in the weblogic-application.xml descriptor. Therefore, in an Enterprise application, you can only apply security policies to JAR files that are EJBs or Web applications.

11.9.2 Extraneous String Values Interpreted as File Specification

The weblogic.Deployer tool interprets any extraneous string values between command-line arguments as a file specification. For example, if you enter the command:

java weblogic.Deployer -activate -nostage true -name myname -source c:\myapp\mymodule

the tool attempts to activate a file specification named true, because the -nostage option takes no arguments and true is an extraneous string value.

11.9.3 java.lang.NoClassDefFoundError is Displayed

While using the WebLogic Server Administration Console with applications or EJBs deployed on a Managed Server that depend on a deployed library, you may encounter a java.lang.NoClassDefFoundError.


The WebLogic Server Administration Console needs access to any shared library deployments so that Java data types and annotations can be processed. Therefore, all shared library deployments should always be targeted to the WebLogic Server Administration Server in addition to any Managed Servers or clusters.

11.9.4 The restore Method Does Not Update the DConfig Bean With Plan Overrides

The restore method does not correctly update the DConfig Bean with the plan overrides. For example, given the following steps:

  DeployableObject dObject =
     WebLogicDeployableObject.createDeployableObject(new File(appName));
  DeploymentConfiguration dConfig =
  dConfig.restore(new FileInputStream(new File(plan)));

the plan does not correctly override the DConfig Bean.


Specify the plan when initializing the configuration for the application. For example:

    helper = SessionHelper.getInstance(
    helper.setPlan(new File(plan));

11.9.5 config-root <directory> not found Warning Is Displayed When Applying a Deployment Plan

If you use the Administration Console to make configuration changes to an application, a deployment plan will be generated. If external descriptors are generated as part of the deployment plan, they are placed in the config root plan directory. This directory will be set in the deployment plan 'config-root' attribute.

If no external descriptors are required, the config root directory will not be created, and a warning is displayed when you apply the deployment plan. This results in the following warning in the server output:

<Warning <WWebLogicDescriptorWL> <BEA-2156000><"config-root" C:\deployments\plan was not found>.


Create the plan directory manually.

11.10 EJB Issues and Workarounds Issues and Workarounds

This section describes the following issues and workarounds:

11.10.1 Primary Key in Oracle Table is CHAR

The primary key in an Oracle table is a CHAR but the query field in the SQL table is a VARCHAR2.


Change the database schema from CHAR to VARCHAR2. Using CHAR as a primary key is not recommended for the Oracle database.

11.10.2 No Available Annotation That Enables Creation of a Clusterable Timer

There is no annotation for EJB3 beans or Ejbgen that enables creation of a clusterable timer.


Create a weblogic-ejb-jar.xml file and put the <timer-implementation> element and corresponding values into the file.

11.10.3 Kodo's MappingTool Cannot Generate Schemas

Kodo's MappingTool cannot generate schemas for classes that use BLOBs in their primary key. BLOBs can be used in a primary key, but the schema must be defined manually. Note that support for BLOB columns in primary keys is not mandated by either the JDO or JPA specifications.

11.10.4 Extensions to the JPA Metadata Model Can Only Be Specified Via Annotations

Extensions to the JPA metadata model can only be specified via annotations, and not via a structure similar to the orm.xml file defined by the specification.


To specify Kodo-specific metadata for your object model, either:

  • use the Kodo-specific annotations, or

  • convert your XML-based metadata to the JDO metadata format, which does support XML specification of extensions.

11.10.5 Lookup Method Injection Not Supported by Spring

The Weblogic Spring injection extension model doesn't support lookup method injection.

11.10.6 Deserializing a JDO PersistenceManagerFactory in a Managed Environment May Fail

Deserializing a JDO PersistenceManagerFactory in a managed environment may fail. The exception states that the javax.jdo.PersistenceManagerFactoryClass property is missing. Note that serializing a PersistenceManagerFactory should not generally be necessary in a managed environment.

11.10.7 Indexes Not Always Created During Schema Creation

Indexes declared at the class level are not always created during schema creation.


Create the indexes manually after running the schema generation tools.

11.10.8 OpenJPA throws an exception when @Id fields are also annotated as @Unique

OpenJPA throws an exception when @Id fields are also annotated as @Unique in some databases. Database primary keys are unique by definition. Some databases implement this by creating a unique index on the column.


Do not specify both @Id and @Unique on a single field.

11.10.9 Cache Hit and Miss Counts May Rise Unexpectedly

The cache hit and miss counts may rise unexpectedly when manipulating entities without version data. The extra cache access occurs when the EntityManager closes and all contained entities are detached. Entities without version fields appear to the system to be missing their version data, and the system responds by checking their version in the cache before detachment.


Entities with version fields or other version strategies do not cause extra cache access.

11.10.10 Open JPA Tries to Create a Table Even if the Table Exists

When using the MySQL database, and OpenJPA is configured to automatically run the mapping tool at runtime and create tables within the default schema (for example):

<property name='openjpa.jdbc.SynchronizeMappings' value='buildSchema'/>
<property name='openjpa.jdbc.Schema' value='MySQL database name' />

OpenJPA will try to create the table even if the table already exists in the database. A PersistenceException will be thrown to indicate that the table already exists and the table creation statement fails.


To avoid this problem, if you are using the MySQL database, don't configure OpenJPA to automatically run the mapping tool at runtime and specify the default schema at the same time.

11.10.11 EJB Applications Fail During Serialization

EJB applications that use IIOP and send JPA entities from the server to the client will fail during deserialization if the entities are Serializable (but not Externalizable) and do not declare a writeObject() method.


Add a writeObject() method to such entity classes. The write object can be trivial:

private void
writeObject(java.io.ObjectOutputStream out)
   throws IOException {

11.10.12 Message-Driven EJB (MDB) Container Can Fail to Provide Reproducible Behavior

When using multi-threaded processing for non-transactional topic MDBs, the MDB container can fail to provide reproducible behavior. For example, if a runtimeException is thrown in the onmessage() method, the container may still acknowledge the message.


Set the max-beans-in-free-pool attribute to 1 in the deployment descriptor.

11.11 Examples Issues and Workarounds

This section describes the following issues and workarounds:

11.11.1 Security Configuration in medrec.wls.config

The medrec.wls.config target in SAMPLES_HOME/server/medrec/setup/build.xml has a known issue with respect to security configuration.

11.11.2 HTML File not Created for StreamParser.java File

The ../xml/stax example contains two files with the same root but different extensions: StreamParser.java and StreamParser.jsp. The samples viewer build, however, creates just one corresponding HTML file, rather than two for each type of file. In this case only the StreamParser.jsp file has an equivalent HTML file; the StreamParser.java file does not.

The problem occurs because of a setting in the build.xml file that controls the behavior of java2html to generate the files for the documentation.

When using java2html, the useShortFileName="true" parameter crops off the file extensions for the source files to create the file names for the HTML output files. If two files have the same name and different file extensions, whichever HTML file is generated last will overwrite previous ones.


Set the useShortFileName parameter to "false". This setting generates HTML files with the file extensions included in the name. The drawback to this solution is that every link that points to the HTML output file needs to be revised, regardless of whether the files in question were affected by the bug.

11.11.3 Warning Message Appears When Starting Medrec or Samples Domain

When you start the medrec or samples domains, you may see a warning message similar to this:

<Warning> <WorkManager> <BEA-002919> <Unable to find a WorkManager with name weblogic.wsee.mdb.DispatchPolicy. Dispatch policy weblogic.wsee.mdb.DispatchPolicy will map to the default WorkManager for the application bea_wls_async_response>

This warning message appears in the standard output of the Console while starting a WebLogic Server sample application with an asynchronous Web Service deployed.


The warning is harmless and can be ignored.

11.11.4 Deployment Exception for MedRec Samples Server After Rollback from WebLogic Server 10.3.2

If you upgrade from WebLogic Server 10.3.1 to WebLogic Server 10.3.2, then roll back to the 10.3.1 installation, the MedRec samples server starts, but a Deployment exception occurs and the Administration Console cannot be accessed.

11.12 HTTP Publish/Subscribe Server Issues and Workarounds

This section describes the following issues and workarounds:

11.12.1 Authentication and Authorization of the Local Client is not Supported

The HTTP Publish/Subscribe server does not support authentication and authorization of the local client. The local client has full permissions to operate on channels of the HTTP Publish/Subscribe server, which means the local client can create/delete channels and publish/subscribe events from channels.

11.12.2 Event Messages Published by Local Clients Cannot Be Received by Subscribed Clients Connected to Other Servers

In a clustering environment, event messages published by a local client on a server can be received only by subscribed clients connected to the same server. These messages cannot be received by subscribed clients connected to other servers in the cluster.

11.12.3 Event Messages Published By Local Clients Do Not Go Through Message Filters

Event messages published to a channel by a local client will not go through the Message Filters configured to that channel.

11.13 Installation Issues and Workarounds

This section describes the following issues and workarounds:

11.13.1 Issue with Oracle WebLogic Server Upgrade Installation

The Oracle WebLogic Server 11g Release 1 installer does not download the Sybase JDBC drivers. When you try to upgrade an existing WebLogic Server 10.3 installation using the latest installer, it does not remove the Sybase JAR files from the original installation. The installer upgrades only the weblogic.jar file.

The Sybase JAR files (jconn2.jar, jconn3.jar, and jConnect.jar) in the /server/lib or /server/ext/jdbc/sybase directories are removed from the manifest classpath in the upgraded weblogic.jar file. Therefore, if the classpath of a WebLogic Server application does not include Sybase JAR files and only includes weblogic.jar then after the upgrade installation, the application will throw a ClassNotFoundException.

To work around this issue, explicitly add Sybase JAR files in the WebLogic Server application classpath.

11.13.2 Configuration Wizard Password Does Not Allow Special Characters

Depending on your country locale, special characters may not be recognized when trying to input and confirm the password when using the Configuration Wizard.


Copy the problematic characters into the clipboard and paste them into the password fields. For security reasons, do not copy the entire password into the clipboard.

11.13.3 WebLogic Server Home Directory Cannot Be the Same as the Middleware Home Directory

You cannot use the Middleware home directory as the WebLogic Server home directory. For example, if the Middleware home directory is C:\Oracle\Middleware, you cannot specify C:\Oracle\Middleware as the home directory for WebLogic Server. Doing so has the potential to cause serious issues with the Configuration Wizard, Template Builder, and possibly other WebLogic Server tools.


Install WebLogic Server in a directory other than the Middleware home directory. For example, if the Middleware home directory is C:\Oracle\Middleware, it is permissible to install WebLogic Server in C:\Oracle\Middleware\wlserver or C:\Oracle\wlserver.

11.13.4 Installation Command Requires Memory Options

When using Sun JDK 64-bit, install Oracle WebLogic Server using the following command:

java -Xmx1024m -jar wls1031_generic.jar

11.14 Java EE Issues and Workarounds

This section describes the following issues and workarounds:

11.14.1 FastSwap May Relax the Access Modifiers of Fields and Methods

FastSwap may relax the access modifiers of fields and methods. Private and protected members may be made public at runtime. This changes the behavior of reflection and may affect reflection-based frameworks such as Struts.

11.14.2 FastSwap Does Not Support Redefinition of the Entity Bean and ejbClass (Session/MDB)

FastSwap does not support redefinition of the Entity bean and ejbClass (Session/MDB). Therefore, any updates to entity classes will cause redefinition errors.


After updating an entity class, redeploy the application.

11.14.3 Classpath Order Is Not Guaranteed When There Are Multiple JARs in the Same EAR File

When you have an EAR file containing separate JAR files, and two or more of those JAR files have a class with the same name, it is not possible to predict from which of those JAR files WebLogic Server will instantiate the class. This is not an issue if the classes are the same, but if they are different implementations, the results are unpredictable.


Currently there is no known workaround for this issue.

11.15 JDBC Issues and Workarounds

This section describes the following issues and workarounds:

  • Section 11.15.1, "Queries Can Take Longer When Using Data Direct 4.0 MSSQL Driver"

  • Section 11.15.2, "An Attempt to Access an LLR Data Source Fails From Multiple Server Instances"

  • 11.15.1 Queries Can Take Longer When Using Data Direct 4.0 MSSQL Driver

    In WebLogic Server Release 11g R1 Patch Set 1, our OEM DataDirect drivers were upgraded to 4.0. In order for the SQLServer driver to fully handle new DBMS datatypes, when running in it's default configuration, queries will take longer. If application access to new datatypes can be limited to getString(), the following configuration workarounds will restore the performance.


    Add the following driver property to the list of driver properties for the WebLogic data source's connection pool. From the Administration Console, select the Configuration>Connection Pool tab for the data source.

    For a non-XA connection pool, add:


    For an XA connection pool, add:


    Alternatively, you can accomplish the same result by adding the property to the data source's XML configuration file.

    For non-XA:


    For XA:


    11.15.2 An Attempt to Access an LLR Data Source Fails From Multiple Server Instances

    A new system property, -Dweblogic.jdbc.remoteEnabled, has been added to JDBC in Oracle WebLogic Server 11g Release 1 Patch Set 1 (10.3.2). For compatibility with prior releases of WebLogic Server, the default setting of this property is true. When this property is set to false, remote JDBC access is turned off, and such access via a remote client will result in an exception.

    System Limitation

    When the -Dweblogic.jdbc.remoteEnabled property is set to false, any attempt to access an LLR data source will fail from multiple server instances.


    An LLR participant in a global transaction that is hosted locally on the transaction coordinating server will continue to work. This can be accomplished by optimizing your applications to use connection instances directly hosted on the coordinator as described in "Optimizing Performance with LLR" in Oracle Fusion Middleware Programming JTA for Oracle WebLogic Server.

    This limitation also applies to the 1PC and emulate XA transaction options for non-XA data sources.


    Since there is no performance benefit when using LLR in a multiple server configuration, change the application to use XA instead.

11.16 JMS Issues and Workarounds

This section describes the following issues and workarounds:

11.16.1 Deployment Descriptor Validation Fails

Deployment descriptor validation fails when descriptor validation is enabled, and an EAR file contains only JMS modules.


Make sure that there is at least one J2EE specification-compliant module in the EAR.

11.16.2 Exception When Multiple JMS Producers Use the Same JMS Client SAF Instance

When multiple JMS producers use the same JMS Client SAF instance (within a single JVM), depending on the timing of the JMS SAF client creation, you might receive the following exception:

Error getting GXA resource [Root exception is weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error getting GXA resource]


When using multiple JMS SAF client producers, try introducing a small delay between the creation of each new client.

11.16.3 Multi-byte Characters are not Supported in WebLogic Server Store File and Directory Names

There is no support for multi-byte characters in WebLogic Store file and directory names. For instance, when the WebLogic Server name has multi-byte characters, the default store cannot be created, and WebLogic Server will not boot.


Create WebLogic Server instances without multi-byte characters in the path name and use that path name rather than the default store. Do not use multi-byte characters in the Weblogic Server name.

11.16.4 C Programs That Use the JMS C Client Library May Experience a JVM Failure

A C program that uses the JMS C client library may crash with a JVM failure. This could be related to a known intermittent race-condition that is only known to occur with certain JVM products, where the likelihood of failure can change based on the JVM version and patch level, operating system, and hardware. Specifically, the JMS C-Client library implicitly attaches C-threads to the JVM, but fails to detach them when it is done with them.


The workarounds are:

  1. Add code in the client to detach the JVM from any C thread that exits and that has previously called into the JMS C-API.

  2. Do not allow any C thread that has previously called into the JMS C-API to exit before the entire process exits.

    Sun 1.5 and later can specifically handle this problem, although it is still recommended to call detach even with the Sun JVM. For more information, see:


  3. Upgrade to a newer JVM. Version 1.5 and later of the Sun JVM, and version R27.6 of the JRockit JVM do not have this problem, although it is still recommended to call detach even with the updated JVMs. For more information about this issue with the Sun JVM, see


11.17 JNDI Issues and Workarounds

This section describes the following issue and workaround:

11.17.1 JMS Message Consumers Will Not Always Reconnect After a Service Migration

JMS message consumers will not always reconnect after a service migration when an application's WLConnection.getReconnectPolicy() attribute is set to all. If the consumers do not get migrated, either an exception is thrown or onException will occur to inform the application that the consumer is no longer valid.


The application can refresh the consumer either in the exception handler or through onException.

11.18 JSP and Servlet Issues and Workarounds

This section describes the following issues and workarounds:

11.18.1 Deployment Plans Cannot Be Used To Override Two Descriptors

Deployment plans cannot be used to override the following two descriptors during deployment of a Web application or a Web module: WEB-INF/classes/META-INF/persistence.xml and WEB-INF/classes/META-INF/persistence-configuration.xml. Deployment plans can otherwise be used to override any descriptor.


Package WEB-INF/classes/META-INF/persistence.xml and WEB-INF/classes/META-INF/persistence-configuration.xml (if present) along with related class files into a JAR file. The JAR file must then be placed in the WEB-INF/lib directory of the Web application or Web module. A deployment plan can be used to override the two descriptors in such a JAR file.

11.18.2 Spring Dependency Injection Not Supported on JSP Tag Handlers

With the Spring extension model enabled, WebLogic Server 10.3 or later does not support Spring Dependency Injection (DI) on JSP tag handlers for performance reasons.

Currently, WebLogic Server supports Spring DI on most Web components, for example, servlets, filters and listeners. Spring DI is not, however, presently supported on JSP tag handlers for performance reasons.

11.18.3 503 Error When Accessing an Application With a Valid sessionid

When a session is persistent and an older version of a servlet context is retired, accessing the application with a valid sessionid will cause a 503 error.

For example, the session-persistent type of a versioned Web application is 'file'. A user can access the application successfully. Later, version 2 of the application is redeployed and version 1 is retired. If the same user accesses the application, they will get a 503 error.

11.19 JTA Issues and Workarounds

There are no known JTA issues in this release of WebLogic Server.

11.20 Java Virtual Machine (JVM) Issues and Workarounds

This section describes the following issues and workarounds:

11.20.1 1.4 Thin Client Applet Cannot Contact WebLogic Server

Due to a known Sun Microsystems VM bug (513552), a 1.4 Thin Client Applet cannot contact WebLogic Server 9.0 or later. This is because the VM does not distinguish correctly between a client and a server connection. The VM creates a server-type connection and caches it. It then attempts to make a client-type connection, finds the cached connection and tries to use that, but then encounters an error because clients are not allowed to use server connections.


None. This issue must be resolved by Sun Microsystems.

11.20.2 Applications running on RH Linux and Intel G5 Processors May Experience Intermittent Time Issues

Applications that run on RH Linux on Intel G5 processors and that also directly or indirectly use system time calls may experience intermittent time issues if the ClockSource is set to tsc (the default). The standard POSIX C gettimeofday() call, and consequently also the Java System.currentTimeMillis() and java.util.Date() calls can intermittently return a value that is approximately 4400 seconds in the future, even in a single-threaded application.

This issue is not unique to WebLogic or Java, but applies to any application running on RH Linux on Intel G5 processors. Issues can occur for applications that either explicitly make a time call using standard Java, or explicitly by using any time-based application server services.

Possible symptoms include, but are not limited to, premature transaction timeouts, unexpected expiration of JMS messages, and incorrectly scheduled timers.

If you're interested in a standalone reproducer for this problem, contact Oracle and reference bug number 8160147.


There is no known official patch for Linux. Instead, change the clock source from tsc to hpet. After making this modification on test systems, exceptions due to invalid System.currentTimeMillis()/gettimeofday() return values were no longer seen. To change the system clock from tsc to hpet on a trial basis, perform the following steps as root:

  1. disable ntpd (if running)

  2. echo 'hpet' &gt; /sys/devices/system/clocksource/clocksource0/current_clocksource

  3. enable ntpd

Note that this change will not survive a reboot. For more information, please see: http://www.gossamer-threads.com/lists/linux/kernel/813344

11.21 Monitoring Issues and Workarounds

This section describes the following issues and workarounds:

11.21.1 MBean Attributes not Explicitly Marked as @unharvestable Appear as Harvestable in the WebLogic Server Administration Console

The @unharvestable tag is not being honored at the interface level. If MBean attributes are not explicitly marked as @unharvestable, they are considered to be harvestable and will appear as harvestable in the WebLogic Administration Console.


You can explicitly mark MBean attributes as @unharvestable.

11.21.2 WatchData Field in an Outgoing Notification is Empty

When a Harvester watch rule variable resolves to multiple metric data points triggers, the WatchData field in the outgoing notification would be empty; normally this is supposed to contain a list of the MBean instances and the actual values of the attributes used to evaluate the rule.

11.21.3 NullPointerException Occurs When Configuring the First WLDF Watch

When configuring the WLDF Harvester for the first time after a server reboot, if you attempt to configure the first WLDF Watch in a WLDF module on an MBean Metric in the DomainRuntime namespace, a NullPointerException occurs. The error occurs because the console is attempting to query the Harvester for the set of MBeans that are available on the server's DomainRuntime MBeanServer before the Harvester has finished initializing. This occurs only if both (a) the Harvester is not yet initialized and (b) the first Watch created in a WLDF module is being configured for an MBean in the DomainRuntime namespace.

This is not a serious error.


Cancel the Watch creation attempt and retry. The NullPointerException error should not occur again.

11.21.4 Complex and Array Type Attributes Have Been Removed From the SNMP MIB

Entries for MBean attributes that are either complex types or arrays of complex types have been removed from the SNMP MIB in WebLogic Server 10.3.1, as SNMP does not support these types natively. Previous versions of WebLogic Server returned Object.toString() for complex type objects, which is not meaningful for any monitoring purpose.

11.21.5 The BEA Prefix in Message IDs Will Be Changed in a Future Release

In an upcoming release of WebLogic Server, the current default prefix for catalog and non-catalog Message IDs will be changed from the current BEA prefix to WL.


You should be prepared for this future change. In the interim, here are some guidelines to consider:

  • Avoid depending on BEA for Message ID prefixes in scripts, filter expressions, etc.

  • For log messages such as the following:

    <Jan 30, 2009 12:51:49 AM CST> <Notice> <WebLogicServer> <BEA-000365> 
    <Server state changed to STARTING>

    it is better for you to filter on '000365' and not on the BEA prefix itself.

  • Your log parsing scripts should be updated to look for both BEA and WL, instead of filtering only on BEA.

11.22 Node Manager Issues and Workarounds

There are no known Node Manager issues in this release of WebLogic Server.

11.23 Operations, Administration, and Management Issues and Workarounds

There are no known Operations, Administration, and Management issues in this release of WebLogic Server.

11.24 Protocols Issues and Workarounds

There are no known Protocols issues in this release of WebLogic Server.

11.25 RMI-IIOP Issues and Workarounds

This section describes the following issue and workaround:

11.25.1 Ant 1.7 rmic Task Incompatibility

Calls to the Ant version 1.7 rmic task automatically add a -vcompat flag, which is not compatible with rmic for Oracle WebLogic Server.


Use either of the following workarounds if your rmic call is of the form:

rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter"
   classpath="${core.classes}" compiler="weblogic" />
  • Add a stubversion

    <rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter"
       classpath="${core.classes}" compiler="weblogic"
  • Remove the compiler flag

    <rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter"

11.26 Security Issues and Workarounds

This section describes the following issues and workarounds:

11.26.1 StoreBootIdentity Option Works Only if the Appropriate Server Security Directory Exists

The option -Dweblogic.system.StoreBootIdentity works only if the appropriate server security directory exists. This directory is usually created by the Configuration Wizard or upgrade tool.

However, the appropriate server security directory could be absent in domains checked into source-control systems.

11.26.2 Connections Requiring a NULL Cipher Will Fail Unless AllowUnencryptedNull Cipher is Set to True

WebLogic Server allows for a NULL cipher to be used with an SSL connection, which results in data not being encrypted.

In WebLogic Server 10.3 or greater, the use of the NULL cipher is now disabled by default. In order for a client to enable the NULL cipher, set the weblogic.ssl.AllowUnencryptedNullCipher system property to true. For example:


In WebLogic Server 10.3 or greater, client SSL connections requiring a NULL cipher will fail unless this system property explicitly enables the use of the NULL cipher. For NULL cipher to be used, you need to enable NULL cipher on both the server side and client side. If not enabled on both sides, the SSL handshake will fail.

11.26.3 WebLogic Server Instance Experiences Boot Time Failure with SecurityServiceException

A WebLogic Server instance can experience a boot time failure with a SecurityServiceException when the RDBMS Security Data Store is configured for a DB2 database using the DB2 driver supplied with WebLogic Server.


When RDBMS Security Data Store is using the AlternateId connection property for a DB2 database, you must also set the additional property BatchPerformanceWorkaround as true when using the DB2 driver supplied with WebLogic Server.

11.26.4 Authentication Failure After Upgrading a Domain From WLS 6.1

After upgrading a domain from WLS 6.1, the WebLogic Server instance will not boot due to an authentication failure.


A system user password must be set up in the WLS 6.1 domain before or after the upgrade process in order for the WebLogic Server instance to boot properly.

11.26.5 InvalidParameterException Message Generated and Displayed in the Administration Console

After you configure either the Identity Provider or Service Provider services for SAML 2.0 and attempt to publish the SAML 2.0 services metadata file, an InvalidParameterException message may be generated and displayed in the Administration Console.


When configuring the SAML 2.0 federation services for a WebLogic Server instance, be sure to enable all binding types that are available for the SAML role being configured. For example, when configuring SAML 2.0 Identity Provider services, you should enable the POST, Redirect, and Artifact bindings. When configuring SAML 2.0 Service Provider services, enable the POST and Artifact bindings. Optionally, you may choose a preferred binding.

11.26.6 Default Web Permissions in weblogic.policy Do Not Work if There Is No weblogic.xml File

If you define your default Web application permissions in weblogic.policy, but your Web application does not have a weblogic.xml descriptor file, the default Web permissions will not take effect, and you may see an AccessControlException.


Add a weblogic.xml descriptor file to your application.

11.26.7 Enabling Both the Authentication and Passive Attributes In SML 2.0 Service Provider Services Is an Invalid Configuration

When configuring SAML 2.0 Service Provider services, enabling both the Force Authentication and Passive attributes is an invalid configuration that WebLogic Server is unable to detect. If both these attributes are enabled, and an unauthenticated user attempts to access a resource that is hosted at the Service Provider site, an exception is generated and the single sign-on session fails.

Note that the Force Authentication attribute has no effect because SAML logout is not supported in WebLogic Server. So even if the user is already authenticated at the Identity Provider site and Force Authentication is enabled, the user is not forced to authenticate again at the Identity Provider site.

Avoid enabling both these attributes.

11.26.8 Authentication May Fail When Group Membership Caching Is Enabled

When configuring any of the authentication providers included in WebLogic Server, setting Group Membership Searching to "limited" may result in authentication failures if Enable Group Membership Lookup Hierarchy Caching is enabled. Authentication may succeed or fail depending on the current content of the group membership cache.

In the authentication provider configuration page of the WebLogic Server Administration Console, the Group Membership Searching attribute is available from the Provider Specific tab, and the Enable Group Membership Lookup Hierarchy Caching attribute is available from the Performance tab.

Note that the default settings for these attributes are as follows:

  • Group Membership Searching is set to "unlimited".

  • Enable Group Membership Lookup Hierarchy Caching is enabled.


These two configuration settings should not be used together. When configuring an authentication provider, use either of the following methods to avoid this problem:

  1. Avoid setting Group Membership Searching to "limited".

  2. If you must use the "limited" setting, disable the Enable Group Membership Lookup Hierarchy Caching setting. Note that disabling the group membership cache typically results in slower system performance.

11.26.9 Oracle Internet Directory Authenticator Requires Tuning to Work Around Leaked Handles on Windows

The connection from WebLogic Server to the LDAP server may develop a system resource consumption problem caused by a windows event handle memory leak. This problem occurs when numerous concurrent connections are made between WebLogic Server and the LDAP server under heavy load conditions. The workaround is to tune the LDAP Authentication provider that is configured in the security realm to pool all LDAP connections and, optionally, to enable caching in the user and group lookup algorithm.


Complete the following tuning procedures:

  1. Set the LDAP connection pool size to 100 by defining the following system property in the setDomainEnv script, which is located in the bin directory of the WebLogic domain:

  2. Optional) Configure the LDAP Authentication provider you are using—for example, the Oracle Internet Directory Authentication provider—to enable caching of group membership hierarchies.

    In the WebLogic Administration Console:

    1. Select the Performance tab of the LDAP Authentication provider configuration page (Security Realms > myrealm > Providers > Authentication > your LDAP Authentication provider > Performance).

    2. Enable the attribute labeled Enable Group Membership Lookup Hierarchy Caching.

    3. In the field labeled Max Group Hierarchies In Cache, specify a cache size large enough to hold most of the groups (a value of 1024 is recommended).

    4. In the field labeled "Group Hierarchy Cache TTL," specify a sufficiently long time-to-live interval (a value of 6000 is recommended).

  3. (Optional) Enable and enlarge the cache used with the LDAP server.

    In the WebLogic Server Administration Console:

    1. Select the Provider Specific tab of the LDAP Authentication provider configuration page (Security Realms > myrealm > Providers > Authentication > your LDAP Authentication provider > Provider Specific).

    2. Scroll towards the bottom, and make sure the field labeled CacheEnabled is checked.

    3. In the field labeled Cache Size, specify a value of 3200 KB.

    4. In the field labeled Cache TTL, specify a time-to-live value that matches the Group Hierarchy Cache TTL value (set in Step 2d; 6000 is recommended).

    Oracle also recommends that you set the results timeout value for the LDAP server. On the current Provider Specific configuration page, specify a value of 1000 ms in the field labeled Results Time Limit.

  4. Restart WebLogic Server for the changes to take effect.

11.27 Spring Framework on WebLogic Server Issues and Workarounds

This section describes the following issues and workarounds:

11.27.1 OpenJPA ClassFileTranformer Does Not Work When Running WebLogic Server on JRockit

The OpenJPA ClassFileTranformer doesn't work when running WebLogic Server on JRockit.


Use an alternative method of applying enhancements at build time through an OpenJPA enhancer compiler; do not use the LoadTimeWeaver.

11.27.2 petclinic.ear Does Not Deploy on WebLogic Server

For the SpringSource 'petclinic' sample, the petclinic.war deploys without any problems. The petclinic.ear will not deploy on WebLogic Server because it is not packaged correctly. A request has been sent to SpringSource to fix the petclinic.ear packaging.

11.28 Upgrade Issues and Workarounds

This section describes the following issues:

11.28.1 Domains Created Using WebLogic Server 10.3.1 Cannot Be Run on WebLogic Server 10.3

If you create a domain using WebLogic Server 10.3.1, then roll back to WebLogic Server 10.3, you will not be able to start the servers that you created in that domain. This is a known restriction, as the config.xml file contains references to newer schema definitions (xmlns.oracle.com) that did not exist in WebLogic Server 10.3.

11.28.2 Issues with Domains Created After Rollback from WebLogic Server 10.3.2 to 10.3.1

After performing an upgrade from WebLogic Server 10.3.1 to WebLogic Server 10.3.2 using an upgrade installer or Smart Update, if you roll back to the 10.3.1 release (either with the WebLogic Server uninstaller Rollback option or via Smart Update), the following issues occur:

  • WebLogic Server starts, but validation errors occur

  • the Administration Console cannot be accessed (a 500 Error is displayed in the browser)

Note that these issues do not occur when upgrading from 10.3.0 to 10.3.2, and rolling back to 10.3.0.


The only known workaround is to restore the original WebLogic Server 10.3.1 installation, if it is backed up.

11.28.3 Downgrade Option is Unavailable in Smart Update After Upgrade to WebLogic Server 10.3.2

If you have WebLogic Server 10.3.0 or 10.3.1 installed with the WorkShop for WebLogic component, and you use Smart Update to upgrade to WebLogic Server 10.3.2, there is no Downgrade Option available in Smart Update that will allow you to roll back from 10.3.2 to the prior release.


This issue does not occur if your WebLogic Server installation does not include the Workshop for WebLogic component.


Run the WebLogic Server uninstaller and select the Rollback option to roll back to the original WebLogic Server 10.3.0 or 10.3.1 installation. For information on how to run the WebLogic Server uninstaller, see the Installation Guide for Oracle WebLogic Server.

11.29 Web Applications Issues and Workarounds

This section describes the following issues and workarounds:

11.29.1 Administration Console Fails to Implement session-timeout Changes

If the session-timeout is configured in the web.xml file, any changes made to change the session-timeout using the Administration Console do not take effect.


Use a deployment plan to override the session-timeout setting.

11.29.2 Servers Cannot Load Sessions That Are Written by Patched Servers

In WebLogic Server 11g Release 1 Patch Set 1 (10.3.2), the session persistent formats for file and jdbc were changed. Therefore, if you have some servers in a cluster that have Patch Set 1 installed, while other servers do not, the servers without the patch cannot load sessions that were written by the patched servers. This also applies to unpatched servers in the same domain, when those servers are operating the same session persistent store as the patched servers. This issue occurs only when the application is deployed with a version ID and the session persistent type is either file or jdbc.


Patched servers (those upgraded to 11g Release 1 Patch Set 1) can load sessions in both session persistent formats (that is, the pre-Patch Set 1 format and the Patch Set 1 format). By default, patched servers persist sessions in the Release 1 Patch Set 1 (or greater) format.


You can use either of the following workarounds for this issue.

  1. Install Patch Set 1 on all servers at the same time.

  2. Use the following system property to force the patched servers to persist sessions in the previous (pre-Patch Set 1) format:


11.29.3 Unable to View the Output of a JSPX Page in Internet Explorer 7

When a JSPX page is deployed and is then accessed using Internet Explorer 7 (IE7), the XHTML source is displayed instead of the page contents. This occurs in both normal and osjp.next modes.


The application users should be instructed to use Firefox or Safari to access the application.

11.29.4 Unable to View the Output of SVG files in Internet Explorer 7

When a page using Scalar Vector Graphics is deployed and is then accessed using Internet Explorer 7 (IE7), the source is displayed instead of the page's graphic contents. This occurs in both normal and osjp.next modes.


Application developers should avoid using SVG graphics in their applications, as it is not natively supported in IE7. If used, a warning similar to the following should be added:

All current browsers, with the exception of Internet Explorer, support SVG files. Internet Explorer requires a plug-in to display SVG files. The plug-ins are available for free, for example, the Adobe SVG Viewer at  http://www.adobe.com/svg/viewer/install/.

11.30 WebLogic Server Scripting Tool (WLST) Issues and Workarounds

This section describes the following issues and workarounds:

11.30.1 Property Names Containing '.' Characters Are Not Supported by loadProperties Command

The WLST loadProperties command does not support loading a property with a name that contains "." characters. For example, if the property myapp.db.default is present in the property file, WLST throws a name exception:

  Problem invoking WLST - Traceback (innermost last):
    File "<iostream>", line 7, in ?
    File "<iostream>", line 4, in readCustomProperty
  NameError: myapp

This is a system limitation of Python and the loadProperties command. WLST reads the variable names and values and sets them as variables in the Python interpreter. The Python interpreter uses "." as a delimiter to indicate module scoping for the namespace, or package naming, or both. Therefore, the properties file fails because myapp.db.default.version=9i is expected to be in the myapp.db.default package. This package does not exist.


Use variable names that do not have periods. This will allow you to load the variables from the property file and refer to them in WLST scripts. You could use another character such as "_" or lowercase/uppercase character to delimit the namespace.

As an alternative, you can set variables from a properties files. When you use the variables in your script, during execution, the variables are replaced with the actual values from the properties file. For example:

import myapp
print myapp.var1
print myapp.var2

This will work for one level of namespaces (myapp.var1, myapp.var2). It will not work for top level variables that share the same name as the namespace (for example, myapp=oracle and myapp.var1=10). Setting the myapp variable will override the myapp namespace.

If you need multiple levels, then you can define a package namespace using directories. Create a myapp/db/default directory with a vars.py file as follows:


Then import:

import myapp.db.default.vars
print myapp.db.default.vars.var1

You may need to add __init__.py files to the subdirectories. Refer to the Python documentation for more information on packages:


11.30.2 Invalid cachedir Created by Jython Causes WLST to Error Out

The default cachedir created by Jython 2.2 is not a valid directory. If you are using Jython directly from weblogic.jar, this causes WLST to error out.


There are two workarounds for this issue:

  • When invoking WLST, specify the -Dpython.cachedir=<valid_directory> parameter, or

  • Install Jython 2.2.1 separately instead of using the partial Jython that is included in weblogic.jar.

11.30.3 Server Fails to Start When Using the WLST startServer() Command

Any attempt to start a WebLogic Server Administration Server using the WLST startServer() command will fail when you (a) start WLST from an ORACLE_HOME/common/bin directory instead of WL_HOME/common bin and (b) run the startServer() command from that WLST shell.

The startServer() command can only be used to start a WebLogic Server Administration Server instance issued from a WLST shell that was initiated by WL_HOME/common/bin/wlst.cmd or wlst.sh, where WL_HOME is the WebLogic Server specific installation directory. startServer() cannot be used to start an integrated WebLogic Server Administration Server instance installed with other products in the Fusion Middleware Suite, such as SOA or JRF.


To start an integrated WebLogic Server Administration Server (one that is associated with a Fusion Middleware Suite product other than WebLogic Server), use either of the following methods:

  • Execute the server startup script for the associated domain.

  • Start the server using Node Manager. If you use this method, make sure that the startScriptEnabled property is set to true in Node Manager.

11.31 Web Server Plug-Ins Issues and Workarounds

This section describes the following issue:


Currently, mod_wl and mod_wl_ohs only support container level failover and not application level failover. mod_wl_ohs continues to route requests to a down application as long as the managed server is up and running. In the clustered case, requests continue to go to the container where the original session started even when the application is shutdown, typically resulting in the http error 404.

11.32 Web Services and XML Issues and Workarounds

This section describes the following issues and workarounds:

11.32.1 Sparse Arrays and Partially Transmitted Arrays Are Not Supported

WebLogic Server does not support Sparse Arrays and Partially Transmitted Arrays as required by the JAX-RPC 1.1 Spec.

11.32.2 WSDL Compiler Does Not Generate Serializable Data Types

The Web Service Description Language (WSDL) compiler does not generate serializable data types, so data cannot be passed to remote EJBs or stored in a JMS destination.

11.32.3 Use of Custom Exception on a Callback

WebLogic Server does not support using a custom exception on a callback that has a package that does not match the target namespace of the parent Web Service.


Make sure that any custom exceptions that are used in callbacks are in a package that matches the target namespace of the parent Web service.

11.32.4 Cannot Use JMS Transport in an Environment That Also Uses a Proxy Server

You cannot use JMS transport in an environment that also uses a proxy server. This is because, in the case of JMS transport, the Web Service client always uses the t3 protocol to connect to the Web Service, and proxy servers accept only HTTP/HTTPS.

11.32.5 clientgen Fails When Processing a WSDL

clientgen fails when processing a WSDL that uses the complex type http://www.w3.org/2001/XMLSchema{schema} as a Web Service parameter.

11.32.6 JAX RPC Handlers in Callback Web Services Are Not Supported

WebLogic Server 9.2 and later does not support JAX RPC handlers in callback Web Services.


If JAX RPC handlers were used with Web Services created with WebLogic Workshop 8.1, then such applications must be redesigned so that they do not use callback handler functionality.

11.32.7 Message-level Security in Callback Web Services Is Not Supported

WebLogic Server 9.2 and later does not support message-level security in callback Web Services.


Web Services created with WebLogic Workshop 8.1 that used WS-Security must be redesigned to not use message-level security in callbacks.

11.32.8 Handling of Java Method Arguments or Return Parameters That Are JAX-RPC-style JavaBeans

WebLogic Server does not support handling of Java method arguments or return parameters that are JAX-RPC-style JavaBeans that contain an XmlBean property. For example, applications cannot have a method with a signature like this:

void myMethod(myJavaBean bean);

where myJavaBean class is like:

public class MyJavaBean {
  private String stringProperty;
  private XmlObject xmlObjectProperty;

  public MyJavaBean() {}
  String getStringProperty() {
    return stringProperty;
  void   setStringProperty(String s) {
    stringProperty = s;
  XmlObject getXmlObjectProperty() {
    return xmlObjectProperty;
  void      getXmlObjectProperty(XmlObject x) {
    xmlObjectProperty = x;


Currently there is no known workaround for this issue.

11.32.9 IllegalArgumentException When Using a Two-Dimensional XML Object in a JWS Callback

Using a two dimensional XmlObject parameter (XmlObject[][]) in a JWS callback produces an IllegalArgumentException.


Currently there is no known workaround for this issue.

11.32.10 Using SoapElement[] Results in Empty Array

Using SoapElement[] as a Web Service parameter with @WildcardBinding(className="javax.xml.soap.SOAPElement[]", binding=WildcardParticle.ANYTYPE) will always result in an empty array on the client.


Do not use the @WildcardBinding annotation to change the default binding of SOAPElement[] to WildcardParticle.ANYTYPE. The SOAPElement[] default binding is set to WildcardParticle.ANY.

11.32.11 FileNotFound Exception When a Web Service Invokes Another Web Service

When Web Service A wants to invoke Web Service B, Web Service A should use the @ServiceClient annotation to do this. If Web Service B needs a custom policy file that is not attached to the WSDL for Web Service B, then Web Service A will fail to run. Web Service A will look for the policy file at /Web-Inf/classes/policies/filename.xml. Since no policy file exists at that location, WebLogic Server will throw a 'file not found' exception.


Attach the custom policy file to Web Service B, as in this example:

public class B {

11.32.12 Client Side Fails to Validate the Signature on the Server Response Message

When the security policy has one of these Token Assertions, the client side may fail to validate the signature on the server response message.


In addition, when there are more than two certifications in the chain for X509 certification for <sp:WssX509Pkcs7Token11/> or <sp:WssX509Pkcs7Token10/> Token Assertion, the server side may fail to validate the signature on the incoming message.

A policy such as the following policy is not supported, unless the entire certificate chain remains on the client side.

               sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>

      <sp:X509Token sp:IncludeToken='. . ./IncludeToken/Never'>
   . . .


Use either of the following two solutions:

  1. Configure the response with the <sp:WssX509V3Token10/> Token Assertion, instead of WssX509PkiPathV1Token11/>. The policy will look like this:

            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>
            <wsp:Policy> sp:IncludeToken='. . ./IncludeToken/Never'>
    . . .
  2. Configure the response with the WssX509PkiPathV1Token11/> token assertion, but include it in the message. The policy will look like this:

            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>
            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToInitiator'>
     . . .

When there are multiple certifications in the X509 Certificate chain, WssX509PkiPathV1Token11/> or <sp:WssX509PkiPathV1Token10/> should be used, instead of <sp:WssX509Pkcs7Token11/> or <sp:WssX509Pkcs7Token10/>.

11.32.13 INFO Messages in Server Log for Domains Created Without Web Services-Specific Resources

WebLogic Web Services expects that each WebLogic Server domain will contain specific resources needed to support Web services. Some domains, however, are not created with these resources.

For example, creating a default WebLogic Server domain in the configuration wizard (without applying any other templates) will not create the needed Web Services resources.

A domain that doesn't contain Web Services resources will still boot and operate correctly for non-Web services scenarios, and any Web Services scenario that doesn't involve asynchronous request/response. You will, however, see INFO messages in the server log indicating that async resources have not been configured and that the async response service for web services has not been completely deployed.


Web Services that use async request/response will not function properly in a domain that doesn't have Web Services resources configured in it. To configure these resources, there are two approaches:

  • Use the configuration wizard and apply the wls_webservice.jar template to your domain.

  • Manually configure these resources according to the rules given in the online documentation under domain configuration for Web services.


The configuration wizard approach mentioned above is not advised for domains that already have JMS servers configured and that enable JMS resource 'default targeting' on JMS resources such as destinations. The wizard automatically creates additional JMS servers, and the default targeted resources can automatically appear on the newly created JMS servers, yielding, for example, distributed destinations that suddenly span many more JMS servers than intended.

11.32.14 Sending async Responses and acks Using a Client Certificate Is Not Supported by Reliable Messaging

Reliable Messaging cannot support sending async responses and acks using a client certificate.

Web Services using async or Reliable Messaging will automatically use the server's SSL certificate when establishing a new connection (back from the receiving service to the sending service) for the purposes of sending async responses, acknowledgments, etc.

11.32.15 xmlcatalog Element Entity Cannot Be a Remote File or a File in an Archive

For the xmlcatalog element in build.xml, the location of an entity must be a file on the local file system. It cannot be a remote file (for example, http:) or a file in an archive (for example, jar:).


If necessary, define the remote element as an entity in a catalog file instead.

11.32.16 Catalog File's public Element Is Not Supported When Using XML Catalogs

The public element in a catalog file is not supported when using the XML Catalogs feature. It is not supported to be consistent with JAX-WS EntityResolver implementation. WebLogic Server only supports defining the system element in a catalog file.

11.32.17 Local xmlcatalog Element Does Not Work Well

The local xmlcatalog element does not work well due to an Ant limitation.


In the ant build.xml file, you have to define a local element above a clientgen(wsdlc) task when you are in the same target, or define the element out of any targets.

11.32.18 JAXRPC Client Does Not Encode the HTTP SOAPAction Header With Multi-byte Characters

The WebLogic Server Web Service JAXRPC client doesn't encode the HTTP SOAPAction header with multi-byte characters, but WebLogic Server only supports ASCII for HTTP headers.


Change the SOAP action to ASCII in the WSDL.

11.32.19 External Catalog File Cannot Be Used in the xmlcatalog Element of a clientgen Task

An external catalog file cannot be used in the xmlcatalog element of a clientgen task. For example, this snippet of an ant build file will not work:

<clientgen ...
      <pathelement location='wsdlcatalog.xml'/>

This is a limitation of the Ant XML Catalog.


Resource locations can be specified either in-line or in an external catalog file(s), or both. In order to use an external catalog file, the xml-commons resolver library (resolver.jar) must be in your classpath. External catalog files may be either plain text format or XML format. If the xml-commons resolver library is not found in the classpath, external catalog files, specified in <catalogpath> paths, will be ignored and a warning will be logged. In this case, however, processing of inline entries will proceed normally.

Currently, only <dtd> and <entity> elements may be specified inline. These correspond to the OASIS catalog entry types PUBLIC and URI respectively.

11.32.20 Exceptions When Running Web Services Reliable Messaging Under Heavy Load

When running a Web services reliable messaging scenario under heavy load with file based storage that has the Direct-Write synchronous write policy setting, you may encounter IO exceptions similar to the following in the WebLogic Server log:

weblogic.store.PersistentStoreRuntimeException: [Store:280029]The 
persistent store record <number> could not be found


Could not load conversation with id uuid:<some ID> -> Conversation read 
      Conversation read failed: id=uuid:<some ID> 
         weblogic.store.PersistentStoreException: [Store:280052]The 
         persistent store was not able to read a record. 

These exceptions are known to occur only when using Web Services reliable messaging. They indicate a failure to read a record from the file store and are considered 'fatal' data access errors.

The underlying issue causing these errors will be addressed in a future release.


The following workarounds are available for this issue:

  • Change the file store synchronous write policy to Cache-Flush.


  • Keep the Direct-Write synchronous write policy and add the following Java system property to your WebLogic server startup scripts:


With either of these workarounds, you may also want to set the block-size for the file store using the following Java system property:


Changing file store settings may lead to some performance degradation, but is necessary for correct operation of Web services reliable messaging under load.

For important information about these settings and additional options, see "Tuning File Stores" in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

11.32.21 jwsc Has Been Modified, Resulting in Methods With No @WebMethod Annotation to Be Included in the Service Endpoint Interface

Prior to 11g Release 1 (WebLogic Server version 10.3.1), a JAX-WS JWS that allowed its service endpoint interface to be inferred from the implementation (that is, no explicit service endpoint interface class was declared) would have the implicit service endpoint interface include only those methods that included an @WebMethod annotation (and that annotation did not specify exclude=true). This behavior is incorrect according to the JAX-WS 2.1 specification. JAX-WS 2.1 specifies that the service endpoint interface inferred from the JWS should include all public non-static methods on the JWS, as long as those methods do not have @WebMethod(exclude=true) attached to them.

In WebLogic Server 10.3.1, jwsc (and the Web services runtime) have been modified to properly generate the implicit service endpoint interface (and resulting WSDL for the service) according to the JAX-WS 2.1 specification. As a result, the implicitly derived service endpoint interface will include all non-excluded public non-static methods on the JWS. In some cases, you may have written JWS implementations that relied on the prior jwsc behavior, assuming that methods with no @WebMethod annotation would not be included in the service endpoint interface and resulting WSDL for the service. With the new jwsc behavior, such methods will be included in the service endpoint interface and resulting WSDL for the service.


After installing WebLogic Server 10.3.1 or greater, Oracle recommends that you evaluate your existing services for the following possible errors:

  1. Public non-static methods that are not legal Web method declarations (these can cause jwsc to fail when building a service).

  2. Public non-static methods that are legal Web methods, but were never intended to be exposed publicly on the service.

The two cases are described in detail here:

Case 1: It is possible that some JWS classes will fail to compile in jwsc if a previously excluded method is an invalid Web method. The new implicit inclusion of such methods will cause the jwsc task to fail. There are many possible reasons for jwsc to fail compiling of a newly included Web method. The most common reason is if a method includes parameter types that are incompatible with JAXB (for example, an interface instead of a concrete class with a default no-arg constructor).

Case 2: Any public non-static methods that are not explicitly excluded will now be represented in the service endpoint interface. These methods may be perfectly legal Web method declarations (for example, they compile correctly in jwsc), but may never have been intended as public operations on the service.

Oracle recommends that you inspect any implicitly defined service endpoint interface (and dynamically generated WSDL) for their existing services, and ensure that only the intended methods are exposed.

In either of these cases, simply add the following annotation to the method that you want to exclude from the service's endpoint interface and WSDL:


11.32.22 MBean Encryption Property Setter Behavior Changed

In Oracle WebLogic Server 11g Release 1 (10.3.1), the behavior of the MBean encryption algorithm changed.

In previous releases, if the newly set value was identical to the existing value, the encrypted value did not change. That is, you would always get the same encrypted value for a given password. The action was not treated as a non-dynamic change.

The behavior has been modified so that use of the setter on any existing encrypted value is considered to be a dynamic change, regardless of whether the new value matches the old value. Therefore, even if you set the password to the existing value, the setter now generates a different encrypted value for the given password.

11.32.23 ClassNotFound Exception Occurs When Using wseeclient.jar to Execute a Standalone JAX-WS Client Application

In some circumstances, when executing a standalone JAX-WS client application using wseeclient.jar (as described in "Using a Stand-Alone Client JAR File When Invoking Web Services" in Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server), the application may fail with a ClassNotFound exception. For example:

Exception in thread "Main Thread" java.lang.NoClassDefFoundError: 
com/oracle/xml /ws/transport/http/client/HttpTransportPipe at 


Use the client-side JAX-WS 2.1 that is integrated with the Java Standard Edition Release 6 (JDK 1.6), Update 4 and later. This requires using the JAX-WS API instead of any WebLogic Server specific APIS.

Current releases of JDK 1.6 are available for download at http://java.sun.com/javase/downloads/index.jsp. For information about writing a standalone JAX WS 2.1 client application, see the JAX-WS Users Guide on the JAX-WS 2.1 Reference Implementation Web site at https://jax-ws.dev.java.net/.

11.32.24 Incomplete Configuration When Adding WebLogic Server Advanced Web Services Component to Newly Created SOA Domain

An incomplete configuration can result when you use the Configuration Wizard to add the WebLogic Server Advanced Web Services component to a newly created SOA domain. If you create a cluster that contains only the default 'out-of-the-box' soa_server1 server definition, the resulting cluster does not include the resources needed to run WebLogic Server Web Services in that cluster.


Use either of the following workarounds for this issue:

  1. While running Configuration Wizard, create a second server in the cluster:

    1. On the Select Optional Configuration screen, select Managed Servers, Clusters, and Machines.

    2. On the Configure Managed Servers screen, add a managed server.

    3. On the Assign Servers to Clusters screen, add this server to the cluster in which the default soa_server1 server resides.

  2. On the Configuration Wizard Target Services to Servers or Clusters screen, target Web Services resources (for example, WseeJmsServer, WseeJmsModule) to the cluster.

Either of these workarounds will cause the Configuration Wizard to apply the resources for the WebLogic Server Advanced Web Services component to the cluster.

11.32.25 Exception Occurs During Invocation of Clientside Policy Applied to a Service

Included per base bug 9042616, RN bug 9056545, 10.3.2, Generic

When upgrading from WebLogic Server 11g Release 1 (10.3.1) to WebLogic Server 11g Patch Set 1 (10.3.2), if the value of the name attribute of @WebParam(header=true) is different from the Java parameter name in the JWS method, a WSDL part name exception may occur.


Run clientgen against the service to rebuild the client artifacts.

11.32.26 Warning Occurs When Using webmethod in JWS

When you use an inner class of an inner class as a parameter of webmethod in JWS, a warning occurs in the JWSC task.


Avoid using an inner class of an inner class as a parameter of webmethod in JWS.

11.33 WebLogic Tuxedo Connector Issues and Workarounds

This section describes the following issue and workaround:

11.33.1 View Classes are not Set on a Per Connection Basis

View classes are not set on a per connection basis.

A shared WebLogic Tuxedo Connector hash table can cause unexpected behavior in the server if two applications point to the same VIEW name with different definitions. There should be a hash table for the view classes on the connection as well as for the Resource section.


Ensure that all VIEW classes defined across all your WebLogic Workshop applications are consistent, meaning that you have the same VIEW name representing the same VIEW class.

11.34 Documentation Errata

This section describes documentation errata:

11.34.1 Issues With Search Function in the Samples Viewer

The Search function in the Samples viewer does not work when accessing the Examples documentation by selecting Oracle Weblogic > Weblogic Server > Examples > Documentation from the Windows Start menu.


To search the Sample Applications and Code Examples, you must start the Examples server and navigate to http://localhost:7001/examplesWebApp/docs/core/index.html. Click Instructions and then Search.

11.34.2 Japanese Text Displays in Some Search Results Topics Avitek Medical Records

The samples viewer Search function may sometimes return topics that display the Japanese and English versions of some Avitek Medical Records topics simultaneously.

11.34.3 Some Interfaces to SAML2 Are Not Documented in the MBean Reference

The WebLogic Server 10.3.1 MBean Reference does not document the interfaces to the SAML 2.0 Identity Asserter and SAML 2.0 Credential Mapping provider. Instead, Javadoc for these MBean interfaces is provided in the WebLogic Server 10.3.1 MBean API Reference Guide.

11.34.4 Default Value Documented For JDBC TestConnectionsOnReserve Property Is Incorrect

The "Test Connections on Reserve to Enable Fail-Over" section of Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server states that the TestConnectionsOnReserve property is enabled (true) by default.

The actual default value of TestConnectionsOnReserve is false (disabled).