2 Oracle WebLogic Server Issues

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

JDK 7 Certification

The issues in this section were found during JDK 7 certification testing of WebLogic Server 12.1.1. These issues do not apply if you downloaded WebLogic Server 12.1.1 approximately on or after March 15, 2012.

Web Services SOAP Messages That Should Be Filtered Are Dumped to
the Debug Log

Platform: All

In WebLogic Server 12.1.1, using (!) with wildcards in weblogic.vsee.verbose.subcomponents may cause SOAP messages that should be filtered to be dumped to the debug log. For example, if using the following filter:

weblogic.wsee.connection.soap.*,!weblogic.wsee.connection.soap.SoapConnectionMessage*

the SoapConnectionMessages are being dumped to the debug log, resulting in the SOAP message content not being available for processing by the business logic.

Workaround

If you experience this issue, download and install patch 13641115. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

SSL Failures Occur When Using JDK 7

Platform: All

In WebLogic Server 12.1.1, various SSL failures may occur when using WebLogic Server with JDK 7u2. These failures include timeouts, SSLHandshakeExceptions, InvalidKeyExceptions, and EOFExceptions.

Workaround

Download and install patch 13391585. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Undeploying a Submodule From a JMS Server Fails

Platform: All

In WebLogic Server 12.1.1, after deploying a submodule of an exploded EAR to a JMS server, when attempting to undeploy the submodule, the undeployment fails.

Workaround

Download and install patch 13424251. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

handlerjavax.net.ssl.SSLException in Node Manager Log File

Platform: All

When using JDK 7 with WebLogic Server 12.1.1, the following SSLException may be logged in the nodemanger.log file:

Uncaught exception in server handlerjavax.net.ssl.SSLException: Error generating DH server key exchange

This occurs only when using the WebLogic Server demonstration certificate or another certificate which has a 512-byte public key. JDK 7 requires a certificate with a 1024-byte public key.

Workaround

Use one of the following workarounds:

  • Download and install patch 13421471. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

  • Use a certificate with a 1024-byte public key.

IllegalStateException Is Logged When Publishing or Republishing
Applications as Virtual Applications

Platform: All

In WebLogic Server 12.1.1, when a bug is encountered during deployment of an application, an unnecessary IllegalStateException may be logged.

Workaround

Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Deployment Fails When Redeploying a Targeted Module

Platform: All

In WebLogic Server 12.1.1, a NullPointerException occurs when undeploying an enterprise application for which a targeted module redeploy has been previously performed.

Workaround

Use one of the following workarounds:

  • Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

  • Redeploy the entire application, rather than using targeted module operations.

ModuleException Occurs When Deploying EARs That Reference Shared Libraries

Platform: All

In WebLogic Server 12.1.1, when deploying an EAR that references an EAR shared library, a ModuleException occurs when Java/JARs modules in the EAR library are placed anywhere except in the root of the EAR library.

Workaround

Use one of the following workarounds:

  • Download and install patch 13516712. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

  • Add the shared library to the application archive instead of using the library-ref tag.

  • Relocate the Java/JAR module of the EAR library to the root of the EAR library.

Unable to Expose an EJB as a Web Service Provider

Platform: All

When trying to create a JAX-WS Web service in WebLogic Server 12.1.1, using the @WebServiceProvider service provider interface implemented as an EJB, the jwsc build process succeeds, but the service is generated as a standard servlet service.

Workaround

Download and install patch 13361720. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Unable to Deploy a Web Service Application When the WebLogic Domain
Is Located on the Network

Platform: All

In WebLogic Server 12.1.1, a FileNotFoundException occurs when deploying an application using a UNC path.

Workaround

Download and install patch 13019800. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Cannot Create a Data Source With Database Type of Other

Platform: All

When using the WebLogic Server 12.1.1 Administration Console to create a data source, if Other is selected as the Database Type, clicking Next results in an "Errors must be corrected" message and the data source cannot be created.

Workaround

In the Administration Console, select any other driver type and go through the process for creating the data source. On the Test Connection page, change the driver name and the format of the URL to be appropriate for the desired driver.

Servlet 3.0 File Upload Causes Issues With Other File Upload Frameworks

Platform: All

Servlet 3.0 file upload is enabled by default, and cannot be disabled via a flag in WebLogic Server. This causes issues with other file upload frameworks.

Workaround

Download and install patch 13657792. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Contexts and Dependency Injection (CDI)

The CDI issues in this section do not apply if you downloaded WebLogic Server 12.1.1 approximately on or after March 15, 2012.

Bean Manager Is Missing From the JNDI Tree

Platform: All

When using Contexts and Dependency Injection (CDI) with WebLogic Server 12.1.1, after starting and stopping an application via the Administration Console, the Bean Manager is no longer present in the JNDI tree.

Workaround

Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

WELD-000401 Occurs When Deploying and Running an Application

Platform: All

In WebLogic Server 12.1.1, when deploying and running an EJB application which observes an event with a transactional filter applied, a WELD-000401 Failure while notifying an observer of event error occurs.

Workaround

Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

WELD-001408 Error Occurs When Using CDI Applications

Platform: All

In WebLogic Server 12.1.1, Contexts and Dependency Injection (CDI) applications do not pick up all of the directories that are specified for split directory applications, causing a WELD-001408 error.

Workaround

Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

ValidationError Occurs When Deploying an Application

Platform: All

In WebLogic Server 12.1.1, when deploying an application which has the following entry in weblogic-application.xml, the application fails to deploy with a ValidationError: Unable to find a default provider:

  <prefer-application-resources>
    <resource-name>META-INF/services/*</resource-name>
  </prefer-application-resources>

Workaround

Download and install patch 13603813. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Embedded JARs Cannot Inject Into Each Other

Platform: All

If a WAR file has two embedded bean deployment archive JARs (that is, JARs that contain META-INF/beans.xml), an UnsatisfiedDependencyException occurs if a class in one JAR contains an @Inject that is of a type that is defined in the other JAR.

Workaround

Download and install patch 13563205. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

Deployment Performance

The deployment performance issue described in this section does not apply if you downloaded WebLogic Server 12.1.1 approximately on or after March 15, 2012.

Applications Take Longer Than Normal to Deploy in WebLogic Server 12.1.1

Platform: All

In WebLogic Server 12.1.1, application deployment takes longer than it did in previous releases.

Workaround

Download and install patch 13340309. Enter this value in the Patch Number Search field on the Patches & Updates tab of My Oracle Support.

General Issues and Workarounds

This section describes the following issues and workarounds:

Multi-Byte Characters Display Incorrectly in Filenames When Using Safari

Platform: All

When using the Safari browser to download content, if a filename contains multi-byte characters, the characters are displayed as '------' in the filename.

Workaround

Set UseHeaderEncoding to true on the Managed Server. Use the following WLST commands to do so:

connect("admin_name", "admin_password", "t3://localhost:port")
edit()
startEdit()
cd("Servers/server_name/WebServer/server_name")
set("UseHeaderEncoding", "true")
save()
activate()
exit()

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

Platform: All

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.

Strong Password Enforcement May Cause Issues With WLST Offline Scripts

Platform: All

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.

Workaround

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.

In Turkish Locale, MDS Initialization Fails

Platform: All

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.

Workaround

Start the server in English locale.

Administration Server Reports a 'Too Many Open Files' Message on the
EM Console

Platform: Linux

The WebLogic Server Administration Server reports a Too Many Open Files message on the Enterprise Manager (EM) console when the maximum number of file descriptors configured for the Administration Server is less than 65535.

Workaround

Execute the following command to determine the maximum number of file descriptors currently configured:

cat /proc/sys/fs/file-max

If the value is less than 65535, perform the following steps:

  1. Edit the file /etc/security/limits.conf with root permission:

    > sudo vi /etc/security/limits.conf
    
  2. Append the following two lines, using a value of 65535 or greater:

  3. *                soft    nofile          65535
    *                hard    nofile          65535
    
  4. Start a new terminal session.

  5. Execute the limit descriptors command to verify that descriptors has been increased to the specified value (at least 65535).

    > limit descriptors
    descriptors  65535
    

AspectJClassLoader Not Supported

Platform: AIX

The weblogic.aspects.AspectJClassLoader is not supported on AIX using IBM Java 6.

Output of java weblogic.version Contains New Line Characters

Platform: All

The output of java weblogic.version contains new line characters. As a result, if script produces output from java weblogic.version that is used as input to an MBean operation in a WLST script which does not accept new line characters, the WLST operation will fail.

Workaround

Care should be taken to strip off new line characters from output of java weblogic.version as needed for the MBean operation.

Administration Console Issues and Workarounds

This section describes the following issues and workarounds:

Variable Overrides in Deployment Plans Cannot Be Removed Via the Console

Platform: All

When you use the WebLogic Server Administration Console to override certain descriptor values for a deployment, these values are represented as variable overrides in the deployment's Deployment Plan file. Once set, you can change the value for these variables via the Administration Console, but you cannot use the Administration Console to remove them.

Workaround

Edit the deployment plan XML file directly. Remove the variable and variable-assignment clauses as needed to revert back to the descriptor settings you had before the you created the override via the Administration Console.

Cached JDBC Information is not Displayed

Platform: All

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

Pressing Browser Back Button Discards Context

Platform: All

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.

Workaround

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.

Unsupported Work Manager Configurations Can Be Created

Platform: All

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.

Workaround

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.

Server Status Table Reflects Inconsistent Information

Platform: All

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.

Exceptions When Defining a Security Policy for an EJB

Platform: All

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.

Workaround

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.

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

Platform: All

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.

Workaround

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

Oracle OCI Driver Support

Platform: All

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

Workaround

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.

Data Takes a Long Time to Display on the Metric Browser Tab

Platform: All

When using Internet Explorer 7 (IE 7) to display data on the Metric Browser tab of the Monitoring Dashboard, it takes an unusually long time for the data to display, and during this time, the page is unresponsive. The amount of time it takes to display data on this tab depends on the size of the domain.

Workaround

If you need to display data on the Monitoring Dashboard > Metric Browser tab, open the Administration Console in a supported web browser other than IE 7, such as Internet Explorer 8 or greater, Firefox 3 or greater, or Safari 4 or greater.

Apache Beehive Support Issues and Workarounds

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

Clustering Issues and Workarounds

There are no known Clustering issues in this release of WebLogic Server.This section describes the following issue and workaround:

Threads Are Blocked on Cluster Messaging in Unicast Mode

Platform: Linux

When using Unicast mode for cluster communication, many threads are blocked on cluster messaging, which may result in cluster members having difficulty sending heartbeat messages. In this situation, some cluster members drop out from the cluster and may take some time to rejoin the cluster.

Workaround

Set the following system property to resolve this issue:

-Dweblogic.unicast.HttpPing=true

Configuration Issues and Workarounds

This section describes the following issues and workarounds:

ASProvWorkflowException Occurs When Creating a WebLogic Domain

Platform: All

In rare cases, if your installation environment contains existing JAVA_OPTIONS prior to starting a Fusion Middleware product installation, these may cause an ASProvWorkflowException, preventing the domain from being created.

Workaround

Prior to starting the Fusion Middleware product installation, clear the existing JAVA_OPTIONS. If you have an application in the environment that use these JAVA_OPTIONS, the applications may not work after clearing the options. In this case, save the existing JAVA_OPTIONS to a text file and investigate alternatives for running your other application.

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

Platform: MS Windows

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"

$WL_HOME%\wlserver_10.3\common\bin\wlst.cmd

Configuration Tools Can Fail If WebLogic Installation Path Contains Spaces

Platform: MS Windows

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.

Workaround

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.

Directory For a Non-Existent Server Name Is Created

Platform: Linux

If you attempt to connect to the WebLogic Server Administration Server with a non-existent server name, a directory for the non-existent server name is created under the domain_name/servers directory.

Workaround

Specify a valid server name when connecting to the Administration Server.

Abnormal Behavior in Terminal Window After Entering WebLogic Password

Platform: Linux

After pressing Ctrl-C to terminate the startManagedWebLogic.sh process immediately after entering the WebLogic password, abnormal behavior may be experienced in the terminal window. For example, when pressing Return, the prompt is tabbed instead of going to the next line, and any characters that are entered at the prompt are not displayed in the terminal.

Workaround

Either close the current xterm and start a new one, or enter stty echo into the xterm.

Creating and Updating Domains Takes Too Long

Platform: Linux

It can take a long time to create or update WebLogic Server domains when:

  • Installing WebLogic Server on UNIX or Linux operating systems if the Server Examples are included in the installation.

  • Using the WebLogic Server Configuration Wizard to create or update a domain.

  • Using WLST to create or update a domain.

Workaround

Set the CONFIG_JVM_ARGS environment variable to the following value:

-Djava.security.egd=file:/dev/./urandom

Password Field Is Not Editable When Configuring a New Domain

Platform: Linux

On Linux systems, when creating a new domain in the Oracle Fusion Middleware Configuration Wizard, the Password and Confirm Password fields are sometimes not editable, and you cannot enter a password to create a domain.

Workaround

There are two ways to work around this issue:

  • To work around the issue each time it happens, click the Close Window X button in the upper right corner of the Configuration Wizard. In the confirmation dialog that appears, click No to return to the Configuration Wizard. You can then enter and confirm the password for the domain.

  • To fix this issue permanently:

    1. Kill all scim processes. For example:

      kill `pgrep scim`

    2. Modify (or create) the file ~/.scim/config to include the following line (case-sensitive):

      /FrontEnd/X11/Dynamic = true

    3. If you are running VNC, restart the VNC server.

    4. Run the Configuration Wizard again.

Connector (Resource Adapter) Issues and Workarounds

This section describes the following issues and workarounds:

java.IO.Serializable Error Occurs When Deploying a JCA Connector

When deploying a WebLogic Server resource adapter, the following error occurs:

The activation_spec, which is defined as resource from implementing_class, must implement java.io.Serializable but does not. 

Workaround

Update the activation spec implementing class so that it is Serializable.

Console Extensions Issues and Workarounds

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

Core Server and Core Work Manager Issues and Workarounds

This section describes the following issues and workarounds:

Node Manager, Administration Server, or Managed Servers Fails

Platform: AIX, Solaris X64, SPARC

When the Operating System's ulimit value for the number of open file descriptors is set to unlimited, the Node Manager, Administration Server, or Managed Servers in the domain may fail to start or may stop running.

Workaround

For the user account that is being used to start WebLogic Server, set the Operating System's ulimit value to something other than unlimited. For example:

ulimit -n 1024

Threads Become Stuck While Waiting to Get a Connection

Platform: All

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.

Workaround

This can currently be resolved by using a private flag:

-Dweblogic.client.SocketConnectTimeoutInSecs

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

Using IPv6-Formatted Addresses

Platform: All

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.

Workaround

Add square brackets to the host address. For example:

t3://[fe80:0:0:0:203:baff:fe2f:59e5]:9991

Server Cannot Be Started After a Whole Server Migration

Platform: All

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.

Workaround

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.

Object State is not Retained After Renaming Field

Platform: All

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.

Workaround

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

Forcing Unicast Messages To Be Processed in Order

Platform: All

The following conditions can cause very frequent JNDI updates, and as a result, JMS subscribers may encounter a java.naming.NameNotFoundException:

  1. Unicast messaging is being used for cluster communication.

  2. The JMS topic connection is set with setReconnectPolicy("all").

  3. JMS durable subscribers on topic are created and removed very frequently.

Workaround

To fix this issue, a new property, MessageOrderingEnabled, has been added to the ClusterMBean. This property forces unicast messages to be processed in strict order. By default, this property is not enabled. To enable the property, add the following line manually to the <cluster> element in config.xml.

<message-ordering-enabled>true</message-ordering-enabled>

Servers Configured to Listen on a Host Name Are Listening on a Different Host
Name After Startup

Platform: All

When using a host name 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 host name after startup. For example:

  • The machine has 3 Ethernet cards

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

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

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

  • 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 host name to the first enabled Ethernet card address

Workaround

Use one of the following three workarounds for this issue:

  1. Use the IP address, instead of the host name, 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 host name 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 host name is Card 1.

Administration Server or Node Manager Cannot Track the Status of a
Managed Server

Platform: Linux

If you start a managed server by providing an incorrect WebLogic Server Administration Server URL from the command line (that is, the Administration Server cannot be reachable at the provided URL), the managed server will start in Managed Server Independence (MSI) mode.

In this case, neither the Administration Server nor Node Manager can track the status of the managed server. The Administration Console will show the status of the managed server as UNKNOWN, but the server will actually be RUNNING in MSI mode.

Multicast Traffic Observed to be Unreliable During or After a Network Partition

Platform: Linux

During or after a network partition that causes a server migration to take place, multicast traffic has been observed to be unreliable. For example, one node may be receiving multicast traffic, but traffic originating from this node is not received on other nodes in the network. As a result, the migrated servers are not added to the cluster because their heartbeats were not received.

Workaround

Currently, the only known workaround is to use unicast cluster messaging.

Initial Connection May Remain Open When Using t3 Protocol with External Load Balancers

Platform: All

When using the t3 protocol with external load balancers, the initial connection may remain associated with the IP address of the load balancer used to do the bootstrap into the cluster. Therefore, a small percentage of requests may pass through the load balancer after the initial connection. This behavior, if present, is a side-effect of the implementation that should not be relied upon since Oracle reserves the right to change this behavior at any point in time.

Data Source Issues and Workarounds

This section describes the following issues and workarounds:

Call To setTransactionIsolation() May Fail When Using the JDBC Driver for
MS SQLServer

Platform: All

When using the JDBC driver for MS SQLServer, a call to setTransactionIsolation() may fail in a transactional context if getTransactionIsolation() is called first.

An Attempt to Access a Remote 10.3.2 or Later WLS Data Source Fails

Platform: All

A new system property, -Dweblogic.jdbc.remoteEnabled, has been added to JDBC in Oracle WebLogic Server 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 results in an exception.

Remote access may occur explicitly in an application, or implicitly during a global (XA/JTA) transaction with a participating non-XA data source that is configured with the LLR, 1PC or Emulate XA global transaction option. The following enumerates the cases when an exception will be thrown, and workarounds for each case (if any).

An exception occurs in the following cases. A workaround (if any) for a given case is provided.

  • When a stand-alone client application uses any type of data source.

  • When an application that is hosted on WebLogic Server uses any type of data source, and the data source is not configured (targeted) locally. A potential workaround is to target the data source locally.

  • When accessing a same named non-XA data source with a transaction option of LLR, 1PC or Emulate XA on multiple WebLogic Server instances in the same global transaction. In this case, there are two potential workarounds:

    • Change data sources to use XA instead (this may lower performance), or

    • For the 1PC/emulateXA types, change the application to ensure the data source is accessed from a single server.

  • When accessing a non-XA data source with the LLR transaction option on a server that is different than the transaction coordinator. For server-initiated transactions, the coordinator location is chosen based on the first participating resource in the transaction. In this case, there are two potential workarounds: (a) change the data source to use XA instead (this may lower performance); or (b) change the application to ensure data source access on the transaction coordinator, as described in "Optimizing Performance with LLR" in Oracle Fusion Middleware Programming JTA for Oracle WebLogic Server. The latter may not be possible in some cases; for example, when an MDB application receives messages from a remote WebLogic JMS server, the transaction coordinator will always be the WebLogic server that's hosting the JMS server, but it may not be possible to move the MDB application to the same WebLogic server.

    • Change the data source to use XA instead (this may lower performance), or

    • Change the application to ensure data source access on the transaction coordinator, as described in "Optimizing Performance with LLR" in Programming JTA for Oracle WebLogic Server. This workaround may not be possible in some cases. For example, when an MDB application receives messages from a remote WebLogic JMS server, the transaction coordinator will always be the WebLogic Server instance that is hosting the JMS server, but it may not be possible to move the MDB application to the same WebLogic Server instance.

For additional information, see "Security Considerations for WebLogic RMI Drivers" in Programming JDBC for Oracle WebLogic Server.

ORA-01591 Errors Occur on SOA Servers Configured to Use Multiple Oracle
RAC Nodes

Platform: Linux

On SOA servers using multiple Oracle RAC database nodes, when WebLogic Server multi data sources are configured for XA and load balancing, ORA-10591 errors can occur.

Workaround

Download and apply Oracle RAC database patch 7675269 for Linux x86, Oracle Release 11.1.0.7.0. You can download this patch from My Oracle Support. Alternatively, you can download and apply patch set 9007079 for Linux x86, Oracle Release 11.1.0.7.0, which includes the patch 7675269.

Deployment Issues and Workarounds

This section describes the following issues and workarounds:

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

Platform: All

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.

Extraneous String Values Interpreted as File Specification

Platform: All

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.

java.lang.NoClassDefFoundError is Displayed

Platform: All

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.

Workaround

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.

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

Platform: All

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 =
     WebLogicDeploymentManager.createConfiguration(dObject);
  dConfig.restore(new FileInputStream(new File(plan)));

the plan does not correctly override the DConfig Bean.

Workaround

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

    helper = SessionHelper.getInstance(
        SessionHelper.getDisconnectedDeploymentManager());
    helper.setApplication(app);
    helper.setPlan(new File(plan));
    helper.initializeConfiguration();

Deployment Task Fails When a Large Application File Is Deployed

Platform: All

When a large application file is deployed using the upload option, the deployment task fails with the following error:

java.lang.OutOfMemoryError: Java heap space

To resolve this issue, a new system property, weblogic.deploy.UploadLargeFile, has been added. If you see this issue, include this flag in the java command you use to launch a deployment client.

If you are using the WebLogic Server patch releases 9.2 MP2, 9.2 MP3,10.0 MP1, 10.0 M2, 10.3, 10.3.1, 10.3.2, or 10.3.3, this flag is not needed.

Application State Is Not Updated If the Server Starts in MSI Mode

Platform: Linux

A managed server will start in MSI mode if the WebLogic Server Administration Server is not available when the managed server starts. If you start the Administration Server later, the managed server will connect to the Administration Server. However, the state of each application deployed to the managed server is not updated to reflect the state of the applications on the managed server. Each application's state is displayed as NEW or PREPARED in the WebLogic Server Administration Console.

Workaround

There are two workarounds for this issue:

  • Start the Administration Server before starting the managed server, or

  • Redeploy the application after starting the Administration Server.

Attempting to Redeploy an Application Fails if the Application is Already
Deployed Using a Different Source File Location

Platform: Linux

If you initially deployed an application using one source file location, then attempt to redeploy the application using a new location for the source file, the deployment fails with the following exception:

New source location <new_source_file_path> cannot be configured deployed to 
configured application, <application_name>. The application source is at 
original_source_file_path. Changing the source location is not allowed for a 
previously attempted deployment. Try deploying without specifying the source.

This is due to a WebLogic Server deployment restriction. Once you specify the source file for a deployment, you cannot change it on a redeployment.

Workaround

Undeploy the application before attempting to redeploy it using a new source file location.

Developer Distribution

This section describes the following issues and workarounds:

Developer ZIP Distribution Fails on Windows 64-bit and Linux 64-bit

Platform: Windows 64-bit, Linux 64-bit

When using the developer WebLogic Server 12.1.1 ZIP distribution on Windows 64-bit and Linux 64-bit systems, environment settings specific to 64-bit platforms are not being set. This prevents the creation and startup of an empty server.

Workaround

Manually set the following environment variables:

WL_USE_AMD64DLL=true (Windows only)
WL_USE_X86DLL=false (Windows only)
JAVA_USE_64BIT=true
SUN_ARCH_DATA_MODEL=64

Also ensure that LD_LIBRARY_PATH points to the correct native libraries directory.

TransactionRequiredError Occurs When an EJB Inherits a Business Method
Implementation From a Base Class With FastSwap Enabled

Platform: All

When FastSwap is enabled in development mode, if an EJB inherits a business method from a base class, and that business method requires a transactional context, the following error occurs:

javax.persistence.TransactionRequiredException: The method public abstract void javax.persistence.EntityManager.persist(java.lang.Object) must be called in the context of a transaction.

This issue will be fixed in a future release.

Workaround

Use one of the following workarounds:

  • Disable FastSwap.

  • Do not use inheritance.

  • Establish the transactional context yourself in the business method.

EJB Issues and Workarounds

This section describes the following issues and workarounds:

Primary Key in Oracle Table is CHAR

Platform: All

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

Workaround

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

No Available Annotation That Enables Creation of a Clusterable Timer

Platform: All

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

Workaround

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

Kodo's MappingTool Cannot Generate Schemas

Platform: All

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.

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

Platform: All

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.

Workaround

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.

Lookup Method Injection Not Supported by Spring

Platform: All

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

Deserializing a JDO PersistenceManagerFactory in a Managed Environment
May Fail

Platform: All

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.

Indexes Not Always Created During Schema Creation

Platform: All

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

Workaround

Create the indexes manually after running the schema generation tools.

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

Platform: All

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.

Workaround

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

Cache Hit and Miss Counts May Rise Unexpectedly

Platform: All

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.

Workaround

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

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

Platform: All

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.

Workaround

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.

EJB Applications Fail During Serialization

Platform: All

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.

Workaround

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

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

Non-Transactional Message-Driven Bean Container Can Fail to Provide
Reproducible Behavior For Foreign Topics

Platform: All

When using multi-threaded processing for non-transactional topic Message-Driven Beans (MDBs) that specify a foreign topic (non-WebLogic) JMS, 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.

Workaround

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

Examples Issues and Workarounds

This section describes the following issues and workarounds:

Security Configuration in medrec.wls.config

Platform: All

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

HTML File not Created for StreamParser.java File

Platform: All

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.

Workaround

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.

Warning Message Appears When Starting Medrec or Samples Domain

Platform: All

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.

Workaround

The warning is harmless and can be ignored.

HTTP Publish/Subscribe Server Issues and Workarounds

This section describes the following issues and workarounds:

Authentication and Authorization of the Local Client is not Supported

Platform: All

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.

Event Messages Published by Local Clients Cannot Be Received

Platform: All

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.

Event Messages Published By Local Clients Do Not Go Through Filters

Platform: All

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

Installation Issues and Workarounds

This section describes the following issues and workarounds:

WebLogic Server Installer Fails With Insufficient Disk Space Error

Platform: All

The WebLogic Server installer can fail with an insufficient disk space error, even when there is a large amount of available disk space on the file system or disk.

Workaround

Use the -Dspace.detection property in the installation command to disable the available space check. For example:

java -Xmx1024M -Dspace.detection=false -jar installer_file_name -mode=silent -silent_xml=silent.xml

or

wls1211_linux.bin -Dspace.detection=false

WebLogic Server Home Cannot Be the Same as the Middleware Home

Platform: MS Windows

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.

Workaround

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.

Installation Fails with Fatal Error

Platform: All UNIX

The installer does not verify whether sufficient disk space is available on the machine prior to completing the installation. As a result, if an installation cannot be completed due to insufficient space, the installer displays the following error message and exits:

Fatal error encountered during file installation. The installer will now
cleanup and exit!

Workaround

If this problem occurs, restart the installer using the following command:

server103_linux32.bin -log=log.out -log_priority=debug

The preceding command generates a log of the installation procedure, providing details about the exact cause of the failure. If the cause is indeed insufficient space, the log file indicates it explicitly.

Patch for NoClassDefFoundError While Using JACC in AIX and zLinux

Platform: AIX, zLinux

When JACC (Java Authorization Contract for Containers) is enabled, WebLogic Server runs using the Sun-specific PrincipalComparator, which is not supported on the IBM JDK. A NoClassDefFoundError results.

Workaround

Download the following patch from My Oracle Support and install it using the Oracle Smart Update tool:

Patch ID: V5GA Passcode: NPC1WPQ5

For more information about Oracle Smart Update tool, refer to "Applying Patches to Oracle WebLogic Server" at the following URL:

http://download.oracle.com/docs/cd/E14759_01/index.htm

Patch for Incompatibility of IBM JDK Transformer Factory With Security SAML
in AIX and zLinux

Platform: AIX, zLinux

Due to the incompatibility of the IBM JDK transformer factory with the SAML 2.0 module, the following exception occurs:

FATAL ERROR:  'org.apache.xml.serializer.utils.WrappedRuntimeException:
org.apache.xml.serializer.ToXMLSAXHandler incompatible with
org.apache.xml.serializer.SerializationHandler':
org.apache.xml.serializer.ToXMLSAXHandler incompatible with
org.apache.xml.serializer.SerializationHandler
org.opensaml.xml.ConfigurationException: Configuration file does not validate 
against schema at
org.opensaml.xml.XMLConfigurator.validateConfiguration(XMLConfigurator.java:33.1)

Workaround

Download the following patch from My Oracle Support and install it using the Oracle Smart Update tool:

Patch ID: V5GA Passcode: NPC1WPQ5

For more information about Oracle Smart Update tool, refer to "Applying Patches to Oracle WebLogic Server" at the following URL:

http://download.oracle.com/docs/cd/E14759_01/index.htm

Installation of Oracle WebLogic Server 12.1.1 on HP-UX PA-RISC 11.31 Fails
in GUI Mode

Platform: HPUX

If the installer for Oracle WebLogic Server 12.1.2 is started using the java -jar wls1211_generic.jar command in GUI mode with a 32-bit JDK, the installation fails at the end of the installation process. This issue occurs on HP-UX PA-RISC 11.31 only.

The installer shows the following error:

# A fatal error has been detected by the Java Runtime Environment:

#  SIGSEGV (11) at pc=ca19ffa8, pid=20644, tid=21

# JRE version: 6.0
# Java VM: Java HotSpot(TM) Server VM (17.1-b03-jre1.6.0.09-rc1 PA2.0
(aCC_AP) mixed mode hp-ux-pa-risc )
# Problematic frame:
# V  [libjvm.sl+0x521b7848]

#  Please report this error to HP customer support.

Workaround

Use one of the following workarounds.

  • Use the java -Dspace.detection=false -jar wls1211_generic.jar command to install Oracle WebLogic Server 12.1.1 in GUI mode.

  • Use java -jar wls1211_generic.jar -mode=console command to install Oracle WebLogic Server 12.1.1 in console mode.

Java EE Issues and Workarounds

This section describes the following issues and workarounds:

FastSwap May Relax the Access Modifiers of Fields and Methods

Platform: All

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.

FastSwap Does Not Support Redefinition of the Entity Bean and ejbClass

Platform: All

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

Workaround

After updating an entity class, redeploy the application.

Classpath Order Is Not Guaranteed When There Are Multiple JARs in an
EAR File

Platform: All

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.

Workaround

Currently there is no known workaround for this issue.

FastSwap Not Supported When Using CDI

Platform: All

FastSwap is not supported when using CDI. If you deploy an application in exploded format with FastSwap enabled, this deployment fails and errors related to CDI occur.

JMS Issues and Workarounds

This section describes the following issues and workarounds:

Deployment Descriptor Validation Fails

Platform: All

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

Workaround

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

Exception When Multiple Producers Use the Same Client SAF Instance

Platform: All

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]

Workaround

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

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

Platform: All

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.

Workaround

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

Testing Abrupt Failures of WebLogic Server When Using File Stores on NFS

Platform: All

Oracle strongly recommends verifying the behavior of a server restart after abrupt machine failures when the JMS messages and transaction logs are stored on an NFS mounted directory. Depending on the NFS implementation, different issues can arise post failover/restart. For more information, see Section 6.3, "Testing Abrupt Failures of WebLogic Server When Using File Stores on NFS."

JMS Message Consumers Will Not Always Reconnect After a Service Migration

Platform: All

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.

Workaround

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

Forcing Unicast Messages To Be Processed in Order

Platform: All

Certain conditions can cause very frequent JNDI updates, and as a result, JMS subscribers may encounter a java.naming.NameNotFoundException. For more information, see Forcing Unicast Messages To Be Processed in Order.

JMS Thin Client Fails with a SecurityException

Platform: AIX, zLinux

The JMS thin client failes with a SecurityException. The IIOP thin client is not supported on IBM platforms (AIX and zLinux) due to dependencies on the IBM JVM.

Workaround

Run WebLogic Server on the IBM JVM (AIX or zLinux) and your thin client on another operating system.

JDK Issues and Workarounds

This section describes the following issues and workarounds:

SSLv2Hello Not Supported by IBM JDK

Platform: AIX

The IBMJSSE2 Provider does not support the SSL version 2 protocol.

Workaround

Set oracle.net.ssl_version=3.0 or oracle.net.ssl_version=1.0, which allows you use the SSLv3 and TLSv1 protocols.

JNDI Issues and Workarounds

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

JSP and Servlet Issues and Workarounds

This section describes the following issues and workarounds:

Deployment Plans Cannot Be Used To Override Two Descriptors

Platform: All

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.

Workaround

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.

Spring Dependency Injection Not Supported on JSP Tag Handlers

Platform: All

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.

503 Error When Accessing an Application With a Valid sessionid

Platform: All

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.

JTA Issues and Workarounds

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

Java Virtual Machine (JVM) Issues and Workarounds

This section describes the following issues and workarounds:

1.4 Thin Client Applet Cannot Contact WebLogic Server

Platform: All

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.

Applications Running on Some Processors May Experience Intermittent Time
Issues

Platform: RedHat Linux

Applications that run on RedHat (RH) Linux 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. 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.

Please see https://bugzilla.redhat.com/show_bug.cgi?id=452185. This problem was fixed in RedHat 5.3.

JRockit JVM Appears to Freeze When Doing Long Array Copies

Platform: Linux

The JRockit JVM appears to freeze when doing long array copies as part of unlimited forward rolling. This can happen when multiple server reboots occur due to Out Of Memory conditions.

Workaround

When booting the servers, include the following JRockit JVM flag:

 -XXrollforwardretrylimit:-1

Serial Version UID Mismatch

Platform: Linux

A Serial Version UID Mismatch issue is encountered if you deploy an application on a latest JVM, but compiled with previous Service Release of IBM Java 6 JDK.

Workaround

To be compatible with the serialization of previously compiled applications, modify the BEA_HOME/wlserver_10.3/common/bin/commEnv.sh file to include the following command:

JAVA_OPTIONS="$JAVA_OPTIONS 
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"

Alternatively, you can use the command line option:

export IBM_JAVA_OPTIONS=
"-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"

If you intend to deploy new applications with previously compiled applications, they must be recompiled as necessary to have the same Serial Version UID.

JVM Stack Overflow

Platform: Linux

You might encounter a JVM stack overflow error or exception while running WebLogic Server. This issue applies to Oracle Enterprise Linux 4, 5, 5.1 on AMD64 and 64-bit Xeon platforms.

Workaround

Increase the stack size from the default 128k to 256k.

Using AWT libraries May Cause a JVM Crash

Platform: Linux x86

You might encounter a JVM crash when using GUI libraries such as AWT or javax.swing (which often delegates to AWT).

Workaround

Start the server using the following flag:

-Djava.awt.headless=true

IIOP Thin Client Not Supported

Platform: AIX

The IIOP thin client is not supported on AIX due to dependencies on the JVM. Only thin-client applications are affected by this issue.

Workaround

Run WebLogic Server on AIX and your thin client on another operating system.

XML Schema Validation Error

Platform: AIX and zLinux

An XML schema factory validation error is encountered when the IBM JDK fails to return the platform default schema factory because of a preconfigured property file format.

Workaround

Modify the WL_HOME/wlserver_version/common/bin/commEnv.sh file to include the following line:

JAVA_OPTIONS="$JAVA_OPTIONS -Djavax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema=org.apache.xerces.jaxp.validation.XMLSchemaFactory"

Serial Version UID Mismatch

Platform: Linux, AIX

A Serial Version UID Mismatch issue is encountered if you deploy an application on a latest JVM, but compiled with a previous Service Release of the IBM Java 6 JDK.

Workaround

To be compatible with the serialization of previously compiled applications, modify the WL_HOME/wlserver_10.3/common/bin/commEnv.sh file to include the following command:

JAVA_OPTIONS="$JAVA_OPTIONS  -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"

Alternatively, you can use the appropriate Linux or AIX command line option.

AIX:

export IBM_JAVA_OPTIONS="-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"

Linux:

export JAVA_OPTIONS="-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"

If you intend to deploy new applications with previously compiled applications, they must be recompiled as necessary to have the same Serial Version UID.

Monitoring Issues and Workarounds

This section describes the following issue and workaround:

MBean Attributes Not Explicitly Marked as @unharvestable Appear as
Harvestable

Platform: All

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.

Workaround

You can explicitly mark MBean attributes as @unharvestable.

Events Generated By the JVM Level Are Not Generated at Low Volume

Platform: All

In WebLogic Server 10.3.3, the default WLDF diagnostic volume setting was Off. As of WebLogic Server 10.3.4, the default diagnostic volume setting is Low Volume, and events generated by the JVM level are not being generated at the Low Volume setting in WebLogic Server 10.3.4 (JVM-level events were generated at the Low Volume setting in WebLogic Server 10.3.3). The JVM-level events are still generated at the High Volume and Medium Volume settings in WebLogic Server 10.3.4.

Workaround

Use one of the following workarounds to cause the JVM-level events to be generated:

  • Increase the WLDF diagnostic volume to the Medium or High level.

  • Use JRMC, JRCMD, or the JRockit command line settings to activate a separate flight recording in the WebLogic Server instance. By doing so, JVM will cause JVM events to be present at all WLDF diagnostic volume settings (Off, Low, Medium, and High).

WLDF Performance Issues Can Occur When JVM Events Are Enabled

Platform: All

When JVM events are enabled, WLDF performances issues may occur in the following situations:

  • If there are no other JRockit flight recordings enabled, performance can degrade when the WLDF diagnostic volume is set to Medium or High level.

  • If other JRockit flight recordings are enabled, performance can degrade at all WLDF diagnostic volume levels (Off, Low, Medium, and High).

Node Manager Issues and Workarounds

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

Operations, Administration, and Management Issues and Workarounds

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

Oracle Kodo Issues and Workarounds

This section describes the following Oracle Kodo issue and workaround:

Value Retrieved for an Empty Byte Array Field is NULL

Platform: MS Windows 2000

When trying to persist an empty byte array field within an entity to a Sybase or Oracle database, the value gets stored as a NULL rather than as bytes. As a result, when retrieving the value, NULL is returned.

This is a limitation of the Sybase and Oracle drivers, which convert the empty byte array to a NULL while storing it in the database. The issue happens with WebLogic JDBC drivers as well as the proprietary Sybase and Oracle drivers.

Plug-ins Issues and Workarounds

This section describes the following issue for various WebLogic Server plug-ins:

apr_socket_connection Exception Occurs When Using the IIS Plug-In

Platform: All

Under the following circumstances, the IIS plug-in may not work, resulting in an apr_socket_connection error:

  1. Both the IIS and WebLogic Server instances are on the same machine.

  2. IPv6 is enabled on the machine, but the machine is not in an IPv6 environment (that is, the IPv6 interface is enabled but is not working).

  3. The listen address of the WebLogic Server instance is set to the simple host name.

  4. Either the directive WebLogicHost or WebLogicCluster is set to the simple host name for the IIS instance.

Protocols Issues and Workarounds

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

RMI-IIOP Issues and Workarounds

This section describes the following issue and workaround:

Ant 1.7 rmic Task Incompatibility

Platform: All

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

Workaround

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

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

    <rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter"
       base="${module_location}/core-legacy-ra/classes"
       classpath="${core.classes}" compiler="weblogic"
       stubversion="1.2"/>
    
  • Remove the compiler flag

    <rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter"
       base="${module_location}/core-legacy-ra/classes"
       classpath="${core.classes}"
    

Security Issues and Workarounds

This section describes the following issues and workarounds:

NoClassDefFoundError Occurs When a JACC-enabled WebLogic Server
Instance Runs With the IBM JDK

Platform: AIX, zLinux

WebLogic Server 12.1.1 Java Authorization Contract for Containers (JACC) uses PrincipalComparator, which is not supported by the IBM JDK. Therefore, when running a WebLogic Server instance with JACC enabled and using the IBM JDK, a NoClassDefFoundError occurs.

Workaround

Use Oracle Automated Release Updates (ARU) and enter request number 14420904, or download and install patch 13495681 from My Oracle Support.

Service-side Kerberos Authentication Fails With Error 401

Platform: All

Service-side Kerberos authentication fails with an HTTP/1.1 Error 401 Unauthorized if the JDK version is JRockit 1.60_24, 1.60_28, or 1.60_29.

Workaround

Use one of the following workarounds:

  • Instead of using ktab.exe to generate the keytab file, use another tool such as kadmin to generate it.

  • Use ktab.exe to manually supply the correct kvno.

BAD_MAC_RECORD Error Occurs When Using JSSE-based SSL Provider

Platform: All

If WebLogic Server is configured to use the JSSE-based SSL provider, attempts to create an SSL connection may fail with a BAD_MAC_ERROR message.

Workaround

Install JDK 7u2 or higher and restart WebLogic Server.

StoreBootIdentity Works Only if the Appropriate Server Security Directory
Exists

Platform: All

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.

Boot Time Failure Occurs With SecurityServiceException

Platform: All

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.

Workaround

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.

InvalidParameterException Message Generated and Displayed

Platform: All

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.

Workaround

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.

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

Platform: All

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.

Running the WebLogic Full Client in a Non-Forked VM

Platform: All

If the WebLogic Full Client is running in a non-forked VM, for example by means of a <java> task invoked from an Ant script without the fork=true attribute, the following error might be generated:

java.lang.SecurityException: The provider self-integrity check failed.

This error is caused by the self-integrity check that is automatically performed when the RSA Crypto-J library is loaded. (The Crypto-J library, cryptoj.jar, is in the wlfullclient.jar manifest classpath.)

This self-integrity check failure occurs when the client is started in a non-forked VM and it uses the Crypto-J API, either directly or indirectly, as in the following situations:

  • The client invokes the Crypto-J library directly.

  • The client attempts to make a T3S connection, which triggers the underlying client SSL implementation to invoke the Crypto-J API.

When the self-integrity check fails, further invocations of the Crypto-J API fail.

Workaround

When running the full client in a <java> task that is invoked from an Ant script, always set the fork attribute to true.

For more information about the self-integrity check, see "How a Provider Can Do Self-Integrity Checking" in How to Implement a Provider in the Java™ Cryptography Architecture, available at the following URL:

http://download.oracle.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html#integritycheck

Random Number Generator May Be Slow on Machines With Inadequate
Entropy

Platform: Linux

In order to generate random numbers that are not predictable, SSL security code relies upon "entropy" on a machine. Entropy is activity such as mouse movement, disk IO, or network traffic. If entropy is minimal or non-existent, then the random number generator will be slow, and security operations may time out. This may disrupt activities such as booting a Managed Server into a domain using a secure administrator channel. This issue generally occurs for a period after startup. Once sufficient entropy has been achieved on a JVM, the random number generator should be satisfied for the lifetime of the machine.

For further information, see Sun bugs 6202721 and 6521844 at:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6202721

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6521844

Workaround

On low-entropy systems, you can use a non-blocking random number generator, providing your site can tolerate lessened security. To do this, add the -Djava.security.egd=file:///dev/urandom switch or file:/dev/./urandom to the command that starts the Java process. Note that this workaround should not be used in production environments because it uses pseudo-random numbers instead of genuine random numbers.

Oracle Security Updates

Platform: AIX

While installing WebLogic Server, there is an issue that prevents Oracle security updates on AIX.

Workaround

Do the following:

  1. Extract archives/com.oracle.ocm_1.0.0.0.jar from wlsversion_generic.jar

    jar  xvf  wls1031_generic.jar  archives/com.oracle.ocm_1.0.0.0.jar
    
  2. Include -Xbootclasspath to install wlsversion_generic.jar

    java ${JAVA_OPTION} -jar -Xbootclasspath/p:archives/com.oracle.ocm_1.0.0.0.jar wlsversion_generic.jar
    

SSLHandshakeException Occurs When Using IBM JDK 7

Platform: AIX, zLinux

An SSLHandshakeException occurs when the ECDH algorithm is used to connect to WebLogic Server with the IBM JVM.

Workaround

Add the following line to the $JAVA_HOME/jre/lib/security/java.security file:

jdk.tls.disabledAlgorithms=AES, DESede, DES, SHA1, SHA

AccessControlException Occurs When Using IBM JDK7 SR1

Platform: AIX, zLinux

Weblogic Server uses Java Security Manager to prevent untrusted code from performing actions that are restricted by the Java security policy file. When using IBM JDK 7 SR1, a java.security.AccessControlException can occur as a result of certain Java permissions not being available.

Workaround

Give java.security.AllPermission to the patch JARs as follows:

grant codeBase "file:<WL_HOME>/patch_wls1211/patch_jars/-" { 
     permission java.security.AllPermission; 
};

SNMP Issues and Workarounds

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

Spring Framework on WebLogic Server Issues and Workarounds

This section describes the following issues and workarounds:

OpenJPA ClassFileTranformer Does Not Work When Running on JRockit

Platform: All

The OpenJPA ClassFileTranformer does not work when running WebLogic Server on JRockit.

Workaround

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

petclinic.ear Does Not Deploy on WebLogic Server

Platform: All

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.

System Component Architecture (SCA) Issues and Workarounds

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

Upgrade Issues and Workarounds

This section describes the following issue:

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

Platform: All

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.

Web Applications Issues and Workarounds

This section describes the following issues and workarounds:

Web Application Deployment Fails if <servlet-class> Is Not Defined in the
<servlet> Declaration in web.xml

Platform: All

If you attempt to deploy a Web application that contains a web.xml deployment descriptor with a <servlet> declaration that does not define the <servlet-class> element, the application deployment will fail. For example, the following <servlet> declaration will fail at deployment time:

  <servlet>
    <display-name>MyServlet</display-name>
    <servlet-name>MyServlet</servlet-name>
    <load-on-startup>1</load-on-startup>
  </servlet> 

Workaround

To avoid deployment failure, ensure that you define the <servlet-class> sub-element as part of the <servlet> declaration in the web.xml file that is packaged with your Web application.

For RESTful Web service applications, you can deploy the application without a web.xml file or use the pre-3.0 servlet packaging style, which requires you to define the <servlet-class> element. For more information about packaging and deploying RESTful Web services, see "Packaging and Deploying RESTful Web Services" in Developing RESTful Web Services.

Administration Console Fails to Implement session-timeout Changes

Platform: All

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.

Workaround

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

Connection Pool Connection Reserve Timeout Seconds Value is Overridden

Platform: All

When using a JDBC session, the value of Connection Reserve Timeout Seconds for a connection pool is changed to be one of the following:

  • the JDBC connection timeout seconds, which is defined in the session descriptor (either in weblogic.xml or weblogic-application.xml)

  • the default value of 120 seconds

Workaround

Configure jdbc-connection-timeout-secs in the session descriptor.

Database Connections Become Unstable When a PoolLimitSQLException Occurs

Platform: All

When a PoolLimitSQLException occurs during a JDBC persistence session, connections to the database become unstable, and may fail with recovery or fail without recovery. This results in the loss of session data. Either an older session or null is returned.

Web Page Fails to Open When Accessing It Using the SSL Port

Platform: All

When accessing a Web page using the SSL port, the page fails to open and the following error is reported:

Secure Connection Failed 
 
An error occurred during a connection to <hostname>. 
 
You have received an invalid certificate. Please contact the server 
administrator or email correspondent and give them the following information: 
 
Your certificate contains the same serial number as another certificate 
issued by the certificate authority. Please get a new certificate containing a unique serial number.

Workaround

The following workaround can be used for Firefox.

If you have received this error and are trying to access a web page that has a self-signed certificate, perform the following steps in Firefox:

  1. Go to Tools > Options >Advanced > Encryption tab > View Certificates.

  2. On the Servers tab, remove the certificates.

  3. On the Authorities tab, find the Certificate Authority (CA) for the security device that is causing the issue, and then delete it.

If you are using Internet Explorer or other web browsers, you can ignore the Warning page that appears and continue to the web page.

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

Platform: MS Windows

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

Workaround

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

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

Platform: MS Windows

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.

Workaround

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/.

WebLogic Server Scripting Tool (WLST) Issues and Workarounds

This section describes the following issues and workarounds:

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

Platform: All

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.

Workaround

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:

myapp.py
var1=10
var2=20
import myapp
print myapp.var1
10
print myapp.var2
20

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:

var1=10
var2=20

Then import:

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

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

http://docs.python.org/tut/node8.html

Invalid cachedir Created by Jython Causes WLST to Error Out

Platform: All

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.

Workaround

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.

WLST returnType='a' Option Returns Child Management Objects

Platform: Linux

The WLST returnType='a' option should only return attributes from the specified directory. Instead it also returns child management objects. For example:

ls('Server')
drw-   AdminServer
drw-   worker01

ls('Server', returnMap='true', returnType='a')
drw-   AdminServer
drw-   worker01

ls('Server', returnMap='true',returnType='c')
drw-   AdminServer
drw-   worker01

The ls with returnType='a' should not list any child management objects, but AdminServer and worker01 are children.

Workaround

When processing the output from ls(returnType='a'), check to see if the returned entry is a directory.

Web Server Plug-Ins Issues and Workarounds

This section describes the following issue:

MOD_WLS_OHS Does Not Fail Over

Platform: All

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.

Web Services and XML Issues and Workarounds

This section describes the following issues and workarounds:

Exceptions Occur When Using Async MakeConnection in a Clustered
Environment

When using an Async MakeConnection in a clustered environment, one of the following exceptions occurs:

  • McPollingTimeoutException

  • IllegalStateException

There is no workaround for these issues.

weblogic.wsee.jaxws.mdb.DispatchPolicy WorkManager Cannot Be Found

Platform: All

In some situations, warning messages are logged indicating that the weblogic.wsee.jaxws.mdb.DispatchPolicy WorkManager cannot be found, although this WorkManager is targeted to one or more of the Managed Servers in the domain.

Workaround

Use one of the following workarounds to resolve this issue.

  • To prevent these warning messages, start the WebLogic Server instance with the -Dweblogic.wsee.skip.async.response=true flag. See Programming Advanced Features of JAX-RPC Web Services for Oracle WebLogic Server for more information on this flag.

  • Manually target the weblogic.wsee.jaxws.mdb.DispatchPolicy WorkManager to the Administration Server.

Troubleshooting Problems When Applying the WebLogic Advanced Web
Services for JAX-WS Extension Template

Platform: All

After upgrading from WebLogic Server 10.3.4 to 10.3.5, when creating or extending a domain using the WebLogic Advanced Web Services for JAX-WS Extension template (wls_webservices_jaxws.jar), you may encounter an exception during the execution of the final.py script. For complete details and a workaround, see "Troubleshooting Problems When Applying the WebLogic Advanced Services for JAX-WS Extension Template" in Getting Started With JAX-WS Web Services for Oracle WebLogic Server.

Sparse Arrays and Partially Transmitted Arrays Are Not Supported

Platform: All

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

WSDL Compiler Does Not Generate Serializable Data Types

Platform: All

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.

Use of Custom Exception on a Callback

Platform: All

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.

Workaround

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.

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

Platform: All

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.

clientgen Fails When Processing a WSDL

Platform: All

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

JAX RPC Handlers in Callback Web Services Are Not Supported

Platform: All

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

Workaround

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.

Message-level Security in Callback Web Services Is Not Supported

Platform: All

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

Workaround

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

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

Platform: All

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;
  }
}

Workaround

Currently there is no known workaround for this issue.

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

Platform: All

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

Workaround

Currently there is no known workaround for this issue.

Using SoapElement[] Results in Empty Array

Platform: All

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.

Workaround

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.

FileNotFound Exception When a Web Service Invokes Another Web Service

Platform: All

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.

Workaround

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

@Policy(uri="CustomPolicy.xml",
        attachToWsdl=true)
public class B {
  ...
}

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

Platform: All

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

  <sp:WssX509PkiPathV1Token11/>
  <sp:WssX509Pkcs7Token11/>
  <sp:WssX509PkiPathV1Token10/>
  <sp:WssX509Pkcs7Token10/>

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:AsymmetricBinding>
   <wsp:Policy>
      <sp:InitiatorToken>
         <wsp:Policy>
            <sp:X509Token
               sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>

            <wsp:Policy>
               <sp:WssX509Pkcs7Token11/>
            </wsp:Policy>
         </sp:X509Token>
      </wsp:Policy>
      </sp:InitiatorToken>
      <sp:RecipientToken>
      <wsp:Policy>
      <sp:X509Token sp:IncludeToken='. . ./IncludeToken/Never'>
            <wsp:Policy>
               <sp:WssX509Pkcs7Token11/>
            </wsp:Policy>
         </sp:X509Token>
      </wsp:Policy>
      </sp:RecipientToken>
   . . .
      </wsp:Policy>
   </sp:AsymmetricBinding>

Workaround

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:AsymmetricBinding>
       <wsp:Policy>
         <sp:InitiatorToken>
            <wsp:Policy>
            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>
               <wsp:Policy>
                  WssX509PkiPathV1Token11/> 
               </wsp:Policy>
            </sp:X509Token>
            </wsp:Policy>
         </sp:InitiatorToken>
         <sp:RecipientToken>
            <wsp:Policy> sp:IncludeToken='. . ./IncludeToken/Never'>
            <sp:X509Token
               <wsp:Policy>
                  <sp:WssX509V3Token10/>
               </wsp:Policy>
            </sp:X509Token>
            </wsp:Policy>
         </sp:RecipientToken>
    . . .
         </wsp:Policy>
       </sp:AsymmetricBinding>
    
  2. Configure the response with the WssX509PkiPathV1Token11/> token assertion, but include it in the message. The policy will look like this:

     <sp:AsymmetricBinding>
       <wsp:Policy>
         <sp:InitiatorToken>
            <wsp:Policy>
            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'>
            <wsp:Policy>
               WssX509PkiPathV1Token11/> 
            </wsp:Policy>
            </sp:X509Token>
         </wsp:Policy>
         </sp:InitiatorToken>
         <sp:RecipientToken>
            <wsp:Policy>
            <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToInitiator'>
               <wsp:Policy>
                  WssX509PkiPathV1Token11/>
                </wsp:Policy>
            </sp:X509Token>
            </wsp:Policy>
         </sp:RecipientToken>
     . . .
       </wsp:Policy>
     </sp:AsymmetricBinding>
    

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

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

Platform: All

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:).

Workaround

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

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

Platform: All

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.

Local xmlcatalog Element Does Not Work Well

Platform: All

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

Workaround

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.

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

Platform: All

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.

Workaround

Change the SOAP action to ASCII in the WSDL.

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

Platform: All

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 ...
  <xmlcatalog>
    <catalogpath>
      <pathelement location='wsdlcatalog.xml'/>
    </catalogpath>
  </xmlcatalog>

This is a limitation of the Ant XML Catalog.

Workaround

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.

Exceptions When Running Reliable Messaging Under Heavy Load

Platform: All

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

or

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

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.

Workaround

The following workarounds are available for this issue:

  • Change the file store synchronous write policy to Direct-Write-With-Cache

    or

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

    or

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

    -Dweblogic.store.AvoidDirectIO=true
    

    Note:

    The -Dweblogic.store.AvoidDirectIO system property has been deprecated in WebLogic Server 10.3.4. Oracle recommends configuring the store synchronous write policy to Direct-Write-With-Cache instead.

The Direct-Write-With-Cache option may improve performance; it creates additional files in the operating system's temporary directory by default.

The Cache-Flush and AvoidDirectIO workarounds may lead to some performance degradation; it may be possible to reduce or eliminate the degradation by configuring a different block-size for the file store.

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

WS-AT Interoperation Issues With WebSphere and WebLogic Server

Platform: All

Web Services Atomic Transactions (WS-AT) 1.1 interoperation using WebSphere as the client and either WebLogic Server or JRF as the service does not work.

WS-AT 1.1 interoperation does work when WebSphere is the service and either WebLogic Server or JRF is the client. In this case, interoperation works only if you have WebSphere 7 with Fix/Feature Pack 7.

WebLogic Tuxedo Connector Issues and Workarounds

This section describes the following issue and workaround:

View Classes are not Set on a Per Connection Basis

Platform: All

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.

Workaround

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.

Documentation Errata

This section describes documentation errata:

Issues With Search Function in the Samples Viewer

Platform: All

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.

Workaround

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.

Japanese Text Displays in Some Search Results Topics Avitek Medical Records

Platform: All

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

HTML Pages For Downloaded Libraries Do Not Display Properly

Platform: All

After extracting the WebLogic Server documentation library ZIP files that are available from http://www.oracle.com/technetwork/middleware/weblogic/documentation/index.html, the HTML pages may not display properly in some cases for the following libraries:

  • E12840_01 (WebLogic Server 10.3.0 documentation library)

  • E12839_01 (WebLogic Server 10.3.1 documentation library)

  • E14571_01 (WebLogic Server 10.3.3 documentation library)

Workarounds

For library E12840-01, after extracting the E12840_01.zip library file, if the HTML pages are not formatting correctly, perform the following steps:

  1. Go to the directory in which you extracted the zip file.

  2. Locate the /global_resources directory in the directory structure.

  3. Copy the /global_resources directory to the root directory of the same drive.

For libraries E12839-01 and E14571-01, this issue occurs only on Windows operating systems. If the HTML pages of the extracted library are not formatting correctly, try extracting the ZIP file using another extraction option in your unzip utility. For example, if you are using 7-Zip to extract the files, select the Full pathnames option. Note that you cannot use the Windows decompression utility to extract the library ZIP file.

WebLogic Server Silent Installation Fails

Platform: All

In Table 5-1 of the Installation Guide for Oracle WebLogic Server, the following two component paths are listed as valid component paths. Use of these component paths causes the silent installation to fail:

  • WebLogic Server/WebLogic Web Server Plugins—The Web Server Plugins component is not supported in WebLogic Server 12.1.1.

  • WebLogic Server/Xquery Support—To install Xquery support, enter the path as WebLogic Server/UDDI and Xquery support. Note that UDDI is not included in WebLogic Server 12.1.1, and will not be included in the installation.