2 Known Issues and Workarounds

This chapter describes issues associated with Oracle WebLogic Server 14.1.1.0.0.

This chapter includes the following topics:

General Issues and Workarounds

This section describes the following issues and workarounds:

Installation Requirements if Using Coherence with Maven

Issue

Impacted Platforms: N/A

Coherence users who do not have a dependency on Oracle WebLogic Server and want to use Maven should use the standalone Coherence installer.

Coherence users who do have a dependency on Oracle WebLogic Server and want to use Maven must choose the WebLogic Server or Complete with Examples installation options. Do not choose the Coherence Installation option.

Workaround

N/A

Administration Console Issues and Workarounds

This section describes the following issues and workarounds:

Pressing Browser Back Button Discards Context

Issue

Impacted Platforms: All

After a page flow completes in the Oracle WebLogic Server 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 contexts for this assistant are discarded.

Workaround

Oracle recommends that you do not use the browser Back button to go back into an assistant after changes are canceled 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 Oracle WebLogic Server Administration Console.

Creation of Unsupported Work Manager Configurations

Issue

Impacted Platforms: All

The Oracle WebLogic Server 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 several 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.

Exceptions When Defining a Security Policy for an EJB

Issue

Impacted Platforms: All

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

Workaround

Target all library deployments at the Oracle WebLogic Server Administration Server as well as any Managed Servers needed to support referencing applications. This setup 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.

Application Testing Links Fail to Resolve in Administration Console

Issue

Impacted Platforms: All

In some configurations, the Application Testing pages included in the Oracle WebLogic Server Administration Console use IPv6 addresses in the testing links. These addresses are valid for Oracle WebLogic Server instances. However, in some mixed IPv4 and IPv6 environments, these addresses cannot be used from the browser to interact with applications and the testing links do not get resolved.

Workaround

This scenario typically happens when an administrator does not specify the listen address for a server in the configuration and the server is running on a dual stack (IPv6/IPv4) machine where Java and the operating system are configured to use IPv6 in preference to IPv4. In these mixed environments where the IPv4 stack cannot communicate with IPv6, Oracle recommends starting all server instances with the following command so that all servers are downgraded to use IPv4 only:

-Djava.net.preferIPv4Stack=true

java.lang.NoClassDefFoundError is Displayed

Issue

Impacted Platforms: All

While using the Oracle 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 error.

Workaround

The Oracle 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 Oracle WebLogic Server Administration Server in addition to any Managed Servers or clusters.

Error When Configuring Security Role for a Newly Created Coherence Cluster Service or Cache

Issue

Impacted Platforms: All

An unexpected error is noted in the Oracle WebLogic Server Administration Console when configuring a security role for a newly created Coherence cluster service or cache. It is a common pattern in the Oracle WebLogic Server Administration Console that newly created artifacts must be saved and activated before it is possible to access them to configure security roles and policies on those artifacts. Many console pages check this and display a message indicating the following:
This page is not available because the necessary security providers have not been configured, or those configuration changes are pending and not yet activated. Please activate the changes and (if necessary) restart the Administration Server to make this page available.

This check is not present in the Coherence security pages.

Workaround

After creating a new Coherence cluster, activate the configuration changes and restart any servers as indicated in the restarts changelist. This step ensures that the Coherence cluster resources are available for role and policy configuration.

Clustering Issues and Workarounds

This section describes the following issues and workarounds:

Impact of Minimum and Maximum Dynamic Cluster Size Constraints

Issue

Impacted Platforms: All

To support elasticity, Oracle WebLogic Server 12.2.1 introduced the following configurable constraints on the minimum and maximum size of a dynamic cluster:

  • MinDynamicClusterSize (default=1)
  • MaxDynamicClusterSize (default=8)

Additionally, the MaximumDynamicServerCount attribute is deprecated and replaced with the DynamicClusterSize attribute. The value of this attribute is validated against the previously mentioned minimum and maximum constraints. As a result, some existing user configurations and/or scripts may fail. If this occurs, you need to update the MaxDynamicClusterSize setting appropriately so that the DynamicClusterSize value is within the limits.

Workaround

N/A

HTTP 503 Error for HTTP POST Requests During Cluster Scale Down or Failover

Issue

Impacted Platforms: All

When HTTP POST requests are serviced by clustered Oracle WebLogic Server applications, which are configured with a load balancer such as Oracle HTTP Server, a web server using a Oracle WebLogic Server Proxy Plug-in, or Oracle Traffic Director, an HTTP 503 error can occur. If a POST request has been sent to a Oracle WebLogic Server clustered Managed server that is shutting down, and if the server is unable to complete the request, or if the result of the request is unknown, then the load balancer is required to return an HTTP 503 error. When Oracle Traffic Director is used with dynamic clusters, and the cluster is being scaled down, Oracle WebLogic Server notifies Oracle Traffic Director of the impending graceful shutdown of the servers and attempts to route requests to the remaining servers in the cluster. However, there may be a brief downtime in between the graceful shutdown operation and before Oracle Traffic Director redirects the HTTP traffic, when some HTTP requests may receive the 503 error.

Workaround

N/A

Configuration Issues and Workarounds

This section describes the following issues and workarounds:

Initialize slf4j Framework

Issue

After upgrading Oracle WebLogic Server to 14c (14.1.1.0), the slf4j framework is not initialized.

Workaround

In Oracle WebLogic Server 14c (14.1.1.0), the slf4j framework is located in $ORACLE_HOME\oracle_common\modules\thirdparty\apache-maven_bundle\3.6.1.0.0\apache-maven-3.6.1\lib. Initialize the slf4j framework from this location.

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

Issue

Impacted Platforms: 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 by using a DOS command window. This property changes the default character set for the Java process. For example:

  • The active code page for a DOS window is 850. This value 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.

Workaround

In this situation, you can start WLST as follows:

set WLST_PROPERTIES="-Dfile.encoding=cp850"

$WL_HOME%\common\bin\wlst.cmd

Configuration Tools Can Fail if the Oracle WebLogic Server Installation Path Contains Spaces

Issue

Impacted Platforms: MS Windows

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

Workaround

You must enable short name generation in the Windows registry to ensure that spaces are handled properly 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.

Password Field is Not Editable When Configuring a New Domain

Issue

Impacted Platforms: Linux

On Linux systems, when creating a new domain using 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 box, 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 ~/.scim/config file 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.

Administration Server Memory Consumption and JMX Notifications

Issue

Impacted Platforms: All

The Domain Runtime MBean Server is a federated MBean server with connections to all Managed Server Runtime MBean Servers in the domain. The federation architecture performs well with queries. However, when JMX notifications are added to MBeans, the Domain Runtime MBean Server can consume large amounts of memory.

When JMX notifications are used, two cases exist that cause the Administration Server to keep copies of all JMX object names registered in all Runtime MBean Servers running in all Managed Servers in the domain:

  • At the Oracle WebLogic Server level, to simulate the unregistered MBean notifications when a Managed Server shuts down.
  • At the JDK JMX client notification layer.

Workaround

Disable the managed-server-notifications-enabled attribute. This configuration attribute disables the ability to define notifications on MBeans that are contained in the Managed Servers Runtime MBean Servers (these MBeans contain a Location=key in the ObjectName).

If Managed Server notifications are disabled, then the two sets of ObjectNames for MBeans contained in the Oracle WebLogic Server and JDK components will not be kept. Notifications listeners can still be defined on the MBeanServerDelegate and on MBeans contained in the local Domain Runtime MBean Server. However, notifications listeners cannot be added to the non-local MBeans.

Issue Rolling Back Changes for editCustom() MBeans

Issue

Impacted Platforms: All

The editCustom() tree contains MBeans for upper stack and system component products. If you make changes to these MBeans, the changes are persisted immediately to the pending directory. This is different from the Oracle WebLogic Server MBeans in the edit() tree, which require an explicit save.

If you use stopEdit(), cancelEdit() or exit WLST with an open edit session, then the unsaved changes to the Oracle WebLogic Server MBeans will be rolled back. However, the changes to the editCustom() tree will not be rolled back since they have been persisted.

Workaround

Use the undo('y') command to rollback the unactivated changes to the editCustom() MBeans.

Coherence Cache Override Not Working

Issue

Impacted Platforms: All

If the Oracle WebLogic Server Configuration Wizard (config.sh) is used to create a domain and the WebLogic Coherence Cluster Extension template is specified, then a Coherence cluster will be defined. The Coherence cluster will be associated with any Managed Server or Oracle WebLogic Server cluster that is also created by the Configuration Wizard. If no Managed Server or Oracle WebLogic Server cluster is created, then the Coherence cluster will be associated with the Administration Server. This association between the Coherence cluster and the servers is not completely defined using the Oracle WebLogic Server configuration tool, which results in the Coherence cache configuration override file not being detected by the Coherence cluster. Note that this issue only occurs if you are using the cache override feature.

Workaround

Use the following workaround:

  1. Start the domain created with the Configuration Wizard and connect using the WebLogic Server Administration Console.
  2. In the left pane of the WebLogic Server Administration Console, expand Environment and select Coherence Clusters.
  3. Select your Coherence cluster. The Coherence cluster settings page is displayed.
  4. Select the Members tab, which displays all of the members of the Coherence cluster.
  5. Deselect the servers and clusters that are members of the Coherence cluster and click Save.
  6. Reselect the servers and clusters that are the desired members for the Coherence cluster and click Save.

This will perform a complete association between the Coherence cluster and the targeted servers, which is required to detect and utilize the specified Coherence cluster cache configuration override file.

Creating a Managed Server Domain from a Template Causes Error

Issue

Impacted Platforms: All

Specify -managed=true when creating a Managed Server domain directory from a template. If you do not specify -managed=true, the Managed Server will fail to boot because it does not have the correct set of files in the security directory.

Workaround

N/A

Error Occurs When Running WLST Script or Command

Issue

Impacted Platforms: All

When running a WLST script or command, a TypeError: state(): 1st arg can't be coerced to String error occurs. This error occurs because a WLST class name server is used as a variable name in a WLST command. For example, in the following command, the value for the variable server will be replaced with its class name during classloading and will therefore cause this error:

state(server,'Server')

Workaround

Use one of the following workarounds:

  • Include the -Dpython.cachedir.skip=true parameter when starting WLST.
  • Change the reserved string name to another string. For example, you can change the string name server to srvr to resolve the issue.

BI Cluster1 is Down on a Pure IPv6 Deployment After Configuration

Issue

Impacted Platforms: N/A

This is on a pure IPv6 environment. After installing WLS and configuring BI, the bi_cluster is down. This was not reported by the Configuration Wizard.

Workaround

To resolve this issue:
  1. Log in to the Oracle WebLogic Server Administration Console.
  2. Stop bi_server1.
  3. Start bi_cluster1.
  4. Start bi_server1.

Avoid Using the Default Configuration for Oracle WebLogic Server When Running with the ODA Cluster Configuration

Issue

Impacted Platforms: Linux

Using the current default multicast addresses blocks Oracle Clusterware if Oracle cluster is sharing the same subnet as Oracle WebLogic Server.

Workaround

Oracle recommends that you avoid using the current default configuration setting for Oracle WebLogic Server because this configuration can block Oracle Clusterware located in the same subnet.

Unassigned Users Created Using WLST Offline Default to Administrators Group

Issue

Impacted Platforms: All

If you create a domain using WLST offline and create multiple users that are not assigned to a group, those users are assigned to the Administrators group by default.

Workaround

When creating the domain, you must create one Administration user. If you create additional users and you do not want them assigned to the Administrators group, be sure to explicitly assign them to appropriate groups.

Core Server and Core Work Manager Issues and Workarounds

This section describes the following issues and workarounds:

Using IPv6-Formatted Addresses

Issue

Impacted Platforms: All

When using an IPv6-formatted address for Oracle 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

Cannot Start Server After a Whole Server Migration

Issue

Impacted Platforms: All

If the Oracle WebLogic Server Administration Server is down when the whole server migration occurs for a clustered server to a machine on which it was never run, then you cannot start the server 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 a Field

Issue

Impacted Platforms: 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 when you change a field name. The field name change is treated as follows:

  • The field with the old name is deleted.

  • The field with the new name is added.

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 to reset.

Workaround

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

No Java DB Leasing Script or Support

Issue

Impacted Platforms: All

Oracle WebLogic Server does not support Java DB for migration. There is no leasing script available in the WL_HOME/server/db directory for Java DB.

Workaround

No workaround for this issue.

High Number of Application Threads May Cause a Server to Stall

Issue

Impacted Platforms: All

A server JVM appears to have stalled; and a thread dump of this JVM reveals that almost all weblogic.kernel.Default threads appear to be stalled in calls such as wait-for-data or wait-for-prepare-acks.

Workaround

  • Disable the Work Manager enhanced increment advisor by specifying the -Dweblogic.UseEnhancedIncrementAdvisor=false system property on the server command line.
  • If the previous workaround does not work, perform other workarounds listed below:
    • Set the FEJmsDispatcher and BEJmsDispatcher to have a minimum constraint of 1 and a maximum constraint of 6, while keeping Dweblogic.UseEnhancedIncrementAdvisor=false.
    • Tune applications to use fewer threads each. For examples related to thread management for Message-Driven Beans (MDB), see Tuning Message-Driven Beans in Tuning Performance of Oracle WebLogic Server
    • Set the -Dweblogic.threadpool.MinPoolSize=NNN property on all server JVMs in a cluster to a value that is 20% higher than the current number of weblogic.kernel.Default threads in the thread dump. If you are not sure of the NNN count, try 100, and if that does not work, try 150, and so on. Note that configuring too many minpool threads can cause very poor performance or even an 'out of memory'.
    • Set a JTA min-threads-constraint of 20 or 30 on all servers in all involved clusters for the JTACoordinatorWM Work Manager. You can do this setting using the -Dweblogic.transaction.jta.coordinator.wm.min.constraint=YYY system property.

Expected Behavior for Resource Consumption Manager (RCM) Triggers with Same Value and Different Actions

Issue

Impacted Platforms: N/A

A slow trigger and a shutdown trigger can be created for the same value. Similarly, a shutdown value as well as a notify value can be created. This should be validated or prevented manually by WebLogic System Administrator while configuring RCM triggers.

Workaround

N/A

Data Source Issues and Workarounds

This section describes the following issue and workaround:

Data Source Validation Fails for SQL Server When Specifying a Port Number

Starting from Oracle WebLogic Server 12.2.1, when you connect to a SQL Server named instance with a port number specified in the connection URL, the DataDirect JDBC driver for SQL Server returns the following error:

[FMWGEN][SQLServer JDBC Driver]Conflicting connection information. When the instance name is specified, it is invalid to specify the port number.

The data source fails to deploy.

Workaround

Update the JDBC descriptor file to set the allowPortWithNamedInstance property to true or remove the port number from the URL.

When a port number is specified, the Oracle WebLogic Server Administration Console automatically appends the URL with the allowPortWithNamedInstance=true property. The WLST scripts must be updated by the administrator to set this property to true. The following sample URLs are valid:

jdbc:weblogic:sqlserver://host\\INSTANCE:1433;DatabaseName=db;allowPortWithNamedInstance=true"
jdbc:weblogic:sqlserver://host:1433;DatabaseName=db"
jdbc:weblogic:sqlserver://host\\INSTANCE;DatabaseName=db"

Dependency Injection Issues and Workarounds

This section describes the following issues and workarounds:

AroundInvoke Interceptor Methods Apply to MDB Methods Called by Containers

Issue

For Interceptors declared using interceptor bindings, usually the AroundInvoke interceptor methods do not apply to MDB methods called by containers, such as setMessageDrivenContext(), ejbRemove() and so on. From this release of Oracle Weblogic Server 14.1.1.0.0, AroundInvoke interceptor methods apply to these methods as well. This behavior change is caused by Weld 3.0.x (x>1), which is integrated in Oracle WebLogic Server 14.1.1.0.0 for CDI.

Workaround

Add conditional judgement in AroundInvoke to skip these containers called methods.

Deployment Issues and Workarounds

This section describes the following issues and workarounds:

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

Issue

Impacted Platforms: 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 apply security policies only to JAR files that are EJBs or web applications.

Workaround

N/A

Extraneous String Values Interpreted as File Specification

Issue

Impacted Platforms: All

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

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

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

Workaround

N/A

restore Method Does Not Update the DConfig Bean with Plan Overrides

Issue

Impacted Platforms: All

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

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

In this case, the plan does not override the DConfig Bean correctly.

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();

Application Names Must be Unique Within a Domain

Issue

Impacted Platforms: All

As of Oracle WebLogic Server 12.2.1, when deploying an application to a domain with a specified application name, if the application name is already in use in the current domain, the application deployment fails.

This is a behavior change from previous Oracle WebLogic Server versions, where specifying the same application name caused Oracle WebLogic Server to automatically derive a unique name based on the specified name.

Workaround

To avoid application deployment failure, specify unique names for all applications in a domain.

Developer Experience Issues and Workarounds

This section describes the following issue and workaround:

Users Need to Set BEA_HOME System Property While Using Appc for Pub-Sub Modules

Issue

Impacted Platforms: All

An error occurs when using the appc Maven plug-in after installing Oracle WebLogic Server Maven artifacts to the local repository using the Maven synchronization plug-in.

Workaround

Oracle WebLogic Server pub-sub libraries rely on the BEA_HOME system property to resolve compiler issues. Set the BEA_HOME system property while running appc on pub-sub applications for compilation to resolve these dependencies.

EJB Issues and Workarounds

This section describes the following issues and workarounds:

Primary Key in Oracle Table is CHAR

Issue

Impacted Platforms: 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 Annotation that Enables Creation of a Clusterable Timer

Issue

Impacted Platforms: 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 add the <timer-implementation> element and corresponding values in the file.

Kodo's MappingTool Cannot Generate Schemas

Issue

Impacted Platforms: 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.

Workaround

None.

Extensions to the JPA Metadata Model can be Specified Only Through Annotations

Issue

Impacted Platforms: All

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

Workaround

To specify Kodo-specific metadata for your object model, do one of the following:

  • Use the Kodo-specific annotations.

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

Lookup Method Injection Not Supported by Spring

Issue

Impacted Platforms: All

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

Workaround

N/A

Deserializing a JDO PersistenceManagerFactory in a Managed Environment May Fail

Issue

Impacted Platforms: 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 PersistenceManagerFactory should not generally be necessary in a managed environment.

Workaround

None.

Indexes Not Always Created During Schema Creation

Issue

Impacted Platforms: 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

Issue

Impacted Platforms: All

OpenJPA throws an exception when @Id fields are also annotated as @Unique in some databases. The 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

Issue

Impacted Platforms: All

The cache hit and miss counts may rise unexpectedly when manipulating entities without the version data. The extra cache access occurs when 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

Issue

Impacted Platforms: All

When using the MySQL database, if OpenJPA is configured to automatically run the mapping tool at runtime and create tables within the default schema, it will try to create the table even if the table exists in the database. For example:

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

A PersistenceException message 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, do not configure OpenJPA to automatically run the mapping tool at runtime and specify the default schema at the same time.

EJB Applications Fail During Serialization

Issue

Impacted Platforms: 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();
}

WebLogic Client Cannot Use IIOP to Look Up EJB 3.x Specified with the Remote Annotation

Issue

Impacted Platforms: All

When an application using the WebLogic standard client (wlclient.jar) uses the IIOP protocol to look up the remote home interface of an EJB 3.x bean that has been decorated with the @Remote annotation, the lookup may fail with the ClassNotFoundException message.

Workaround

You can do one of the following:

  • In the client classpath, use the WebLogic Install client, weblogic.jar, instead of the WebLogic standard client, wlclient.jar.

  • Create the remote home interface of the EJB by extending the java.rmi.Remote interface instead of using the @Remote annotation.

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

Issue

Impacted Platforms: All

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

Workaround

N/A

Event Messages Published by Local Clients Do Not Go Through Filters

Issue

Impacted Platforms: All

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

Workaround

N/A

Installation and Patching Issues and Workarounds

This section describes the following issues and workarounds:

FAILED Server State Interrupts ZDT Rollout During the Shutdown Operation

Issue

Impacted Platforms: All

During server shutdown when executing rollouts, if the server enters the FAILED state, you may encounter the following error:

Workflow wf0008 failed and the revert process was not initiated. The failure was: Failure performing execute of wf0008-3-1-0 (ShutdownServerResumeOnRevertCommand), caused by Failed to shut down server server1: java.lang.Exception: The process for the server server1 has not completely shut down. This problem should be reported and you may have to kill the process manually.

This error is encountered when using WLST or the Administration Console.

Workaround

You must check the server logs carefully to determine the reason for the server failure which led to the shutdown failure. You can continue the rollout after resolving the issue and manually shutting down the server.

Long Wait for JMS T3 Standalone Clients During JMS Service Failback

Issue

Impacted Platforms: N/A

In the Zero Downtime (ZDT) patching scenario, when the rollout in progress involves the JMS service migration with a case of failback, the JMS T3 standalone clients are unable to perform JNDI look up for the connection factory and the destination objects on the JMS server.

Workaround

When the migrated service fails back to the original server, the JMS standalone clients must wait for nondeterministic time till the JNDI looked up successfully.

Java EE Issues and Workarounds

This section describes the following issues and workarounds:

FastSwap May Relax the Access Modifiers of Fields and Methods

Issue

Impacted Platforms: All

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

Workaround

N/A

FastSwap Not Supported When Using CDI

Issue

Impacted Platforms: 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.

Workaround

N/A

Disable Implicit CDI Scanning When Migrating Java EE 6 Applications to Java EE 7

Issue

Impacted Platforms: All

When migrating existing applications to Oracle WebLogic Server 12.2.1.1, the performance of applications developed using Java EE 6 (or prior Java EE versions) may be adversely affected by changes to the default CDI scanning required by Java EE 7.

Workaround

To improve the deployment performance of applications developed on previous Java EE versions, you can disable implicit CDI scanning in Java EE 7 by setting the value of implicit-bean-discovery-enabled to false. You can set this value in one of the following ways:

  • Using the Oracle WebLogic Server Administration Console, go to the Domain General Configuration page, and in the Advanced Setting section deselect Enable Implicit Bean Discovery.

  • Using WLST online or offline.

    • To change this setting using WLST online, enter the following commands:

      connect('user','password','url')
      domainConfig()
      edit()
      cd('CdiContainer/mydomain')
      startEdit()
      set('ImplicitBeanDiscoveryEnabled',0)  // 1 to enable 0 to disable
      validate()
      save()
      activate(block="true")
      
    • To change this setting using WLST offline, enter the following commands:

      readDomain(domain)
      create('mydomain','CdiContainer')
      cd('CdiContainer/mydomain')
      set('ImplicitBeanDiscoveryEnabled',0)
      // 1 to enable 0 to disable
      updateDomain()
      closeDomain()

JDK Issues and Workarounds

This section describes the following issues and workarounds:

Keytool Error When Converting Non-FIPS Compliant Keystores Using JDK8u301 and JDK 11.0.12 or Later

Issue

Impacted Platforms: All

The default JKS keystore with CA certificates, cacerts, included with the JDK is not FIPS compliant in Oracle WebLogic Server 12.2.1.3 and earlier. FIPS 140-2 requires a PKCS12 PBES2 keystore; JKS keystores and PKCS12 keystores created with keytool using the Sun JSSE provider (the default) are not supported and must be converted to a FIPS compliant keystore.

Due to changes in JDK 8u301 and JDK 11.0.12 or later, the keytool utility throws an exception and the keystore is not created when using the keytool command to convert a non-FIPS compliant JKS or PKCS12 keystore to a FIPS compliant keystore. This error occurs if you set the -srcprovidername property to JsafeJCE.

Workaround

For information about the procedures for converting non-FIPS compliant JKS and PKCS12 keystores using the RSA JCE provider, see Creating FIPS 140-2 Compliant Keystores in Administering Security for Oracle WebLogic Server. If you are using JDK 8u301 or JDK 11.0.12 or later, omit the -srcprovidername JsafeJCE parameter from the keytool command. For example:

Example 2-1 Keytool command

keytool -importkeystore -srckeystore /u01/jdk/jre/lib/security/cacerts.p12   
-srcstoretype PKCS12
-destkeystore /u01/jdk/jre/lib/security/cacerts.rsa
-deststoretype PKCS12 -destprovidername JsafeJCE
-providerclass com.rsa.jsafe.provider.JsafeJCE 
-providerpath $CLASSPATH

JMS Issues and Workarounds

This section describes the following issues and workarounds:

Deployment Descriptor Validation Fails

Issue

Impacted Platforms: All

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

Workaround

Ensure that there is at least one Java EE specification-compliant module in the EAR file.

Exception When Multiple Producers Use the Same Client SAF Instance

Issue

Impacted Platforms: 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, introduce a small delay between the creation of each new client.

Multi-Byte Characters are Not Supported in Store File and Directory Names

Issue

Impacted Platforms: All

There is no support for multi-byte characters in the Oracle WebLogic Server Store file and directory names. For instance, if the Oracle WebLogic Server name has multi-byte characters, the default store is not created, and Oracle WebLogic Server fails to boot.

Workaround

Create the Oracle 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.

Custom Domain Template Upgrade May Result in Lost Topic Messages or Depleted Server Memory

Issue

Workaround

Impacted Platforms: All

As of Oracle WebLogic Server 12.1.2, JMS server and WebLogic store targeting in the Configuration Wizard has changed.

In 12.1.2, the Configuration Wizard automatically targets JMS servers and WebLogic stores to migratable targets when these objects are not explicitly targeted to a Managed Server or a cluster in a domain template. Using migratable targets is a best practice that enables high availability for the JMS system.

If you use a custom domain template to create domains in Oracle WebLogic Server 12.1.2, and the template includes JMS servers and WebLogic stores that are not explicitly targeted to a Managed Server or a cluster, targeting results differ from previous releases.

This change in behavior also results in a change to durable topic subscriptions for message-driven beans (MDBs) that enable the generate-unique-client-id extension. When Oracle WebLogic Server creates durable topic subscriptions for such an MDB, it changes the subscription name to include the migratable target name. Messages stored under the original subscription names are not delivered to the MDB, and the original subscriptions continue to accumulate new messages.

When planning your upgrade, note the following important changes:

  • Use the Reconfiguration Wizard to reconfigure your existing pre-12.1.2 domain for keeping the configuration and durable topic subscriptions intact. For instructions, see Reconfiguring a WebLogic Domain in Upgrading Oracle WebLogic Server.

  • If you regenerate your domain using a custom template, as described above, the resulting configuration differs from previous releases and new durable topic subscriptions are created when the system is started. However, old durable topic subscriptions remain. Those subscriptions contain unprocessed messages that continue to accumulate messages, depleting the server memory.

Choose one of the following recommended workarounds:

  • Use the Reconfiguration Wizard to perform an in-place upgrade of the the domain.

  • Drain messages before upgrading or regenerating the domain configuration. After upgrading, use the Oracle WebLogic Server Administration Console to search and delete the old JMS subscriptions.

  • Delete the JMS file store files or JMS JDBC store tables. All messages persisted in the file or table are deleted.

Using JBoss 5 as a Foreign Provider for a JMS Messaging Bridge Causes Issues

Issue

Impacted Platforms: All

When creating a JMS messaging bridge using JBoss 5 as a foreign provider, conflicting versions of the same class are loaded. This causes the bridge to fail during startup.

Workaround

Oracle recommends that you upgrade to JBoss 7 to avoid this issue.

JTA Issues and Workarounds

This section describes the following issue and workaround:

Commit Recovery Fails When Multiple DB2 Resources in a Transaction Point to the Same DB

Issue

Impacted Platforms: All

Commit recovery fails when multiple DB2 resources in a transaction point to the same DB.

Workaround

N/A

Java Virtual Machine (JVM) Issues and Workarounds

This section describes the following issues and workarounds:

1.4 Thin Client Applet Cannot Contact Oracle WebLogic Server

Issue

Impacted Platforms: All

Due to a known Sun Microsystems VM bug (513552), a 1.4 Thin Client Applet cannot contact Oracle 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 encounters an error because clients are not allowed to use server connections.

Workaround

N/A

Manually Set the Location of Java Endorsed Directory for Oracle WebLogic Server When Upgrading to 14.1.1.0.0 Running on Java SE 8

Issue

Impacted Platforms: All

When upgrading an Oracle WebLogic Server 10.3.x domain to a domain running on Java SE 8, you may have to manually set the location of the Java endorsed directory (or directories) for Oracle WebLogic Server.

Workaround

You must manually set the location of the Java endorsed directory for Oracle WebLogic Server in the command you use to start the Managed Servers, if:
  • You are using custom start scripts, that is, start scripts that are not provided by Oracle.
  • You are trying to create an empty domain using java.weblogic.Server.

In any of these cases, include the java.endorsed.dirs parameter in the Managed Server startup command.

startWeblogic.sh -Djava.endorsed.dirs=ORACLE_HOME/oracle_common/modules/endorsed

Note:

In all of the options described in this section, you must replace ORACLE_HOME with the absolute path to your Oracle WebLogic Server installation.
You can also specify this value when calling startServer by passing the values as jvmArgs or when calling nmstart by passing them as properties, such as:
wls:/nm/mydomain> prps =
          makePropertiesObject("Arguments=-
Djava.endorsed.dirs=ORACLE_HOME/oracle_common/modules/endorsed")wls:/nm/mydomain> nmStart("AdminServer",props=prps)

If you are using Node Manager to start the Managed Server, you can include the -Djava.endorsed.dirs=ORACLE_HOME/oracle_common/modules/endorsed parameter in the ServerStartMBean's arguments attribute, either using WLST or the Oracle WebLogic Server Administration Console. If using the Oracle WebLogic Server Administration Console, go to the server's Configuration page, click the Server Start tab, and then enter this parameter in the Arguments field. This attribute will be applied when you call start(server_name 'Server') from a WLST client that is connected to the Administration Server or when you click Start for the server in the Oracle WebLogic Server Administration Console.

Life Cycle Management Issues and Workarounds

This section describes the following issue and workaround:

Lifecycle Config Plug-In Path May Not be Updated After Unpacking a Domain

Issue

Impacted Platforms: All

When packing a domain that has been configured to use Lifecycle Manager in one environment using the pack command, and then unpacking it in another environment, the plug-in paths contained in the <Domain>/config/lifecycle-config.xml file may still reference the Oracle Home directory paths from the source environment.

Workaround

Rectify the file paths in the lifecycle-config.xml file to reflect the Oracle Home directory paths in the target environment.

Monitoring Issues and Workarounds

This section describes the following issues and workarounds:

Behavior Change in CreateSystemResourceControl

Issue

Impacted Platforms: All

This issue is related to a change in how WebLogic Diagnostic Framework (WLDF) uses the module name for harvester records and watch rule notifications. The internal descriptor name is now overridden to use the name that is provided when the external WLDF descriptor is registered through the Runtime Control API or WLST functions. You will notice this if you have been using the Runtime Control feature to deploy external WLDF system resources to gather Harvester metrics, or listen for a Watch rule notification based on the deployed module.

For example, assume that the Harvester and Watch elements in your deployed descriptor resemble the following:

<harvester>
   <name>MyExternalResource</name>
...
<watch-notification>
   <name>MyExternalResource></name>
...

In addition, you register this descriptor with the runtime control as createSystemControl("resource1", ...). Then the previous harvester data would have been recorded using MyExternalResource as the WLDFMODULE column value for Harvester records in the archive for this resource. It would also be used for the module name in the Watch Notification payloads. Now, resource1 would be used for the WLDFMODULE name in the harvester records and the watch and notification payloads.

Workaround

Use the name the external WLDF resource was registered with when using the WLST command createSystemResourceControl(). Additionally, any notification listeners for Watch notifications from an external resource that are dependent on the WLDF module name in the notification payload should be looking for the name the control was registered with.

For example, if you register your control as createSystemResourceControl("resource1", ...), then the WLDF Accessor queries for this resource should include the module name as WLDFMODULE='resource1' in the query string.

Errors May Occur Writing to WLDF Archive During EBR Upgrade of WLDF Schema Using Upgrade Assistant

Issue

Impacted Platforms: All

If you have configured the WLDF archive for servers in a domain to use an Oracle EBR editioned schema, and then attempt to upgrade that schema using the Upgrade Assistant, it is possible that some errors may occur in servers that are still running against that schema when the upgrade is performed.

This is relevant in the following conditions:

  • WLDF schemas are installed to an Oracle EBR database using the 12.1.2 Repository Creation Utility (RCU) or manually created WLDF schemas from an earlier version of the Oracle WebLogic Server.

  • When using the Upgrade Assistant, the user chooses to upgrade the existing schema to use Oracle EBR editioned tables.

  • There are servers running while the upgrade is performed (for example, if the schema is shared across multiple Oracle WebLogic Server domains).

During the upgrade, the WLDF tables are renamed and edition-based views are created to point to the renamed instances. No data is lost in this operation. However, in these situations, there may be a brief period where some errors can occur (during the time while the upgrade is performed) in the running servers when recording WLDF Harvester or Instrumentation data.

These errors are not critical and should not affect server performance but may result in a loss of a small amount of monitoring data for those servers.

Workaround

To avoid the potential of this occurrence, you can halt the affected WebLogic Server domain(s) during the Oracle Database upgrade process.

Node Manager Issues and Workarounds

This section describes the following Node Manager issues and workarounds:

Oracle HTTP Server Instances Start in the UNKNOWN State

Issue

Impacted Platforms: All

In rare cases, the Oracle HTTP Server (OHS) instances that are managed by the Oracle WebLogic Server may start in the UNKNOWN state. This situation can occur if the Administration Server is unable to initialize the state of the OHS instance. For example, if Node Manager is not running when you create the OHS instance and you connect directly to the Node Manager and bypass the Administration Server when checking the state for the first time.

Workaround

Continue to use the Administration Server. The state of the OHS instance should be initialized properly.

nmStart Fails to Start Administration Server for Partition Domain When Upgraded from Oracle WebLogic Sever 12.2.1.3.0 to 14.1.1.0.0

Issue

Impacted Platforms: All

As Oracle WebLogic Server 14.1.1.0.0 does not support partition, nmStart fails to start Administration Server for partition domain when upgraded from Oracle WebLogic Sever 12.2.1.3.0 to 14.1.1.0.0. Without partition, regular cluster domain upgrade or rollback works fine after you run the Reconfiguration Wizard.

Workaround

N/A

Oracle WebLogic Server Proxy Plug-Ins Issues and Workarounds

This section describes the following issues and workarounds for the various Oracle WebLogic Server Proxy Plug-ins:

GZIP Compression Does Not Work When HTTP/2 Protocol is Configured for a Back-End Connection

Issue

Impacted Platforms: Linux

Oracle WebLogic Server does not support GZIP compression over HTTP/2 connection. The request fails for applications that use GZIP compression to serve the request, in the following cases:

  • When both the front-end and the back-end connections use HTTP/2 protocol.
  • When the front-end connection uses HTTP/1.1 protocol and the back-end connection uses HTTP/2 protocol.

Workaround

N/A

No Error When Multiple HTTP2-Settings Header Fields are Sent During HTTP/2 Upgrade

Issue

Impacted Platforms: Linux

This issue occurs when using Oracle WebLogic Server 14.1.1.0.0 Proxy Plug-in for Apache HTTP Server.

A request that upgrades from HTTP/1.1 to HTTP/2 must include one HTTP2-Settings header field, and the server must not upgrade the connection to HTTP/2 if this header field is not present or if more than one is present. Also, the server must not send this header field. This is the expected behavior. However, when a client sends multiple HTTP2-Settings header fields to Apache HTTP Server when trying to upgrade the connection from HTTP/1.1 to HTTP/2, the Apache HTTP Server considers the first HTTP2-Settings frame and ignores the rest. The request to upgrade to HTTP/2 succeeds without any error.

Workaround

N/A

Inconsistent HTTP Error Codes are Returned for Unimplemented Methods

Issue

Impacted Platforms: Linux

This issue occurs when using Oracle WebLogic Server 14.1.1.0.0 Proxy Plug-in for Apache HTTP Server.

If you use any protocol other than HTTP/1.1, the Java Servlet 4.0 implementation used by Oracle WebLogic Server 14.1.1.0.0 returns a 400 (Bad Request) response status code for unimplemented request methods, instead of returning a 405 (Method Not Allowed) error. Consequently, an HTTP/2 request for an unimplemented method results in a 400 response status code.

Workaround

N/A

Server Push Functionality is Not Supported When HTML Link Preload Option is Used

Issue

Impacted Platforms: Linux

This issue occurs when using Oracle WebLogic Server 14.1.1.0.0 Proxy Plug-in for Apache HTTP Server.

The Server Push functionality is not supported when the HTML link header preload option is used as shown in the following example:

<head>
  <meta charset="utf-8">
  <title>JS and CSS preload example</title>

  <link rel="preload" href="style.css" as="style">
  <link rel="preload" href="main.js" as="script">

  <link rel="stylesheet" href="style.css">
  <script type="text/javascript" src="main.js"></script>
</head>

Workaround

Use one of the following options:

  • Option 1: Set the response header in the servlet or JSP Java code on the Application Server side:
    response.setHeader("Link","style.css>; rel=preload; as=style,<main.js>;
    rel=preload; as=script");
  • Option 2: Configure the required resources in the httpd.conf file:
    <Location />
      Header add Link "<style.css>;rel=preload"
      Header add Link "<main.js>;rel=preload"
    </Location>

Connection Error Reported Instead of Stream Error With WINDOW_UPDATE Size of Zero

Issue

Impacted Platforms: Linux

This issue occurs when using Oracle WebLogic Server 14.1.1.0.0 Proxy Plug-in for Apache HTTP Server.

As per the HTTP/2 specification, a receiver must treat the receipt of a WINDOW_UPDATE frame with a flow-control window increment of 0 (zero) as a stream error of type PROTOCOL_ERROR. Errors on the connection flow-control window must be treated as a connection error. However, when using the Oracle WebLogic Server 14.1.1.0.0 Proxy Plug-in for Apache HTTP Server, when a WINDOW_UPDATE frame with an increment of 0 is sent for a stream (stream ID other than 0), it results in a connection error instead of a stream error, with Apache HTTP Server sending a GOAWAY frame instead of a RST_STREAM frame.

Workaround

NA

No Support for RSASSA-PSS Key Algorithm Using Oracle Wallet

Issue

Impacted Platforms: Linux

Oracle Wallet does not support the use of RSASSA-PSS as key algorithm. Oracle wallet supports RSASSA-PSS only as a signing algorithm.

If a .jks file contains a key generated using the RSASSA-PSS algorithm, the following command fails to import the file to the wallet:
<PLUGIN_HOME>/bin/orapki wallet jks_to_pkcs12 -wallet <wallet location>  -keystore <keystore path>  -jkspwd <password>
The following error message is displayed:
Exception : java.lang.IllegalArgumentException: PublicKey must be one of RSAPublicKey, ECPublicKey, DSAPublicKey or DHPublicKey

Workaround

N/A

Security Issues and Workarounds

This section describes the following issues and workarounds:

StoreBootIdentity Works Only if the Appropriate Server Security Directory Exists

Issue

Impacted Platforms: All

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

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

Workaround

N/A

Additional Information for BEA-090402 Message

Issue

Impacted Platforms: All

The BEA-090402 message is a catalog message that explains what to do if a server instance fails to boot due to a problem with the boot.properties file.

However, the real issue is an authentication problem. BEA-090402 describes the most likely root cause: the customer has modified the boot.properties file or the boot user password. Therefore, the authentication fails.

There are other causes for this failure that are less obvious. For instance, there could be an LDAP corruption, a disk failure, or a Managed Server may fail to connect to the Administration Server and falls back to authenticating on its local LDAP that is out-of-date. These causes are not mentioned in BEA-090402. If you are positive that you are not having a credential issue, BEA-090402 may indicate one of these less common causes.

Workaround

N/A

LDAP Authenticator Log Messages Show Incorrect URL

Issue

Impacted Platforms: All

The Oracle WebLogic Server LDAP Authentication provider log messages show an incorrect URL for the LDAP connection returned by the getConnection method. The getConnection messages indicate that SSL is used, even if you did not specify SSL in the Oracle WebLogic Server provider configuration.

Workaround

The "Connecting to host" messages in the log file do correctly indicate whether SSL is used. For example,

  • <Connecting to host=somehost, port=3060>

  • <Connecting to host=somehost, ssl port=3060>

Compatibility Realm Domains Are Not Supported by Oracle WebLogic Server 12.2.1.1 Clients

Issue

Impacted Platforms: All

In Oracle WebLogic Server 12.2.1.1, support for Compatibility security, including compatibility realms, has been removed. For more information about Compatibility security and compatibility realms, see What Is Compatibility Security? in Administering Security for Oracle WebLogic Server.

The 6.x realms were deprecated in Oracle WebLogic Server 9.0 (November 2006). Oracle WebLogic Server domains configured with realm adapter security providers and 6.x realm configuration elements are no longer supported in Oracle WebLogic Server 12.2.1.1. For information about the specific Compatibility security and 6.x realm components removed and no longer supported in Oracle WebLogic Server 12.2.1.1, see Removed Functionality in What's New in Oracle WebLogic Server.

In addition, Oracle WebLogic Server 12.2.1.1 clients, or servers acting as a client, can no longer invoke on servers if the target domain is configured with a compatibility realm. Such an invocation throws a ClassNotFoundException (RealmAdapterUser) error and the invocation fails.

Interoperability between Oracle WebLogic Server 12.2.1.1 and with prior release servers is supported if compatibility realms are not configured. See Protocol Compatibility in Understanding Oracle WebLogic Server.

Workaround

N/A

Changes in the Return Type of Methods in weblogic.security.net.ConnectionFilterImpl to Support the IPv6 Protocol

Impacted Platforms: All

Issue

In 14.1.1.0.0, the parse related methods of the ConnectionFilterImpl method return BigInteger instead of the int value. See Class ConnectionFilterImpl method in Java API Reference for Oracle WebLogic Server.

Workaround

N/A

Web Applications Issues and Workarounds

This section describes the following issues and workarounds:

Database Connections Become Unstable When a PoolLimitSQLException Error Occurs

Issue

Impacted Platforms: All

When a PoolLimitSQLException error 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.

Workaround

No workaround available.

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

Issue

Impacted Platforms: 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 , select Options, click Advanced, and then select the Encryption tab and click 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 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.

Deployment Plans Cannot be Used to Override Two Descriptors

Issue

Impacted Platforms: All

Deployment plans cannot be used to override the following two descriptors during the 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 the 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

Issue

Impacted Platforms: All

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

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

Workaround

No workaround available.

503 Error Occurs When Accessing an Application With a Valid sessionid

Issue

Impacted Platforms: All

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

For example, assume that 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, a 503 error occurs.

Workaround

No workaround available.

Applications Configuring jdbc-connection-timeout-secs Fail to Deploy

Issue

Impacted Platforms: All

As of Oracle WebLogic Server 12.1.2, the jdbc-connection-timeout-secs element in the weblogic.xml deployment descriptor has been removed. Applications that configure jdbc-connection-timeout-secs will fail to deploy on Oracle WebLogic Server 12.1.2 server instances, resulting in the following error in the server log:

Unable to load descriptor /.../WEB-INF/weblogic.xml of module myweb. The error is weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND 
  <6:7> problem: cvc-complex-type.2.4a: Expected elements 'timeout-secs@http://xmlns.oracle.com/weblogic/weblogic-web-app ...' instead of 'jdbc-connection-timeout-secs@http://xmlns.oracle.com/weblogic/weblogic-web-app' here in element session-descriptor@http://xmlns.oracle.com/weblogic/weblogic-web-app

Workaround

Remove the jdbc-connection-timeout-secs element from the weblogic.xml deployment descriptor.

Default JSP Encoding Changed to UTF-8

Issue

Impacted Platforms: All

As of Oracle WebLogic Server 12.1.3, the default value of the encoding element for the jsp-descriptor element in weblogic.xml is UTF-8 for JSP pages. Prior to Oracle WebLogic Server 12.1.3, the default value for JSP encoding was ISO-8859-1.

Workaround

To specify ISO-8859-1 as the encoding value for a jsp-descriptor element, configure the java-charset-name element in the input-charset element to ISO-8859-1. For more information about these elements, see weblogic.xml Deployment Descriptor Elements in Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server.

No Support for Annotations for JSF-Based Web Applications with Version Earlier than 2.5

Issue

Impacted Platforms: All

As of 12.2.1.1, Oracle WebLogic Server does not support annotated custom tags for JSF-based web applications that have the version of the web application deployment descriptor, web.xml, set to 2.5 or later.

Workaround

For compatibility with your web application that has the version set to 2.5 or earlier, Oracle recommends that you upgrade the version of the web application deployment descriptor, web.xml, to 3.2.

For instance, if your existing web application has the version set to 2.3, you should upgrade it to 3.2 as shown in the following example:

<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns="xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="xmlns.jcp.org/xml/ns/javaee
xmlns.jcp.org/xml/ns/javaee/web-app_3_2.xsd"
         version="3.2">
   ...
</web-app> 

WebLogic Server Scripting Tool (WLST) Issues and Workarounds

This section describes the following issues and workarounds:

Behavior Changes in Jython Version 2.7.1

The WLST scripting environment is based on the Java scripting interpreter, Jython. In Oracle WebLogic Server 14.1.1.0.0, the Jython version has been upgraded from version 2.2.1 to version 2.7.1. Jython 2.7.1 introduces new behaviors that may cause the WLST scripts to malfunction.

Note the following issues:

Jython Unicode string is prepended to each member in a string array

Jython 2.7.1 uses the default string type of Unicode. Existing strings will cause errors because they will be returned as u’string’. If the string value contains Unicode, then convert Unicode to ASCII by calling str(x). In the following example, host1 and host2 have been prepended with 'u' string, and str(host) has the value of host1:

java weblogic.WLST
connect('username', 'password', 't3://host:port')
cd('Servers/sysadmin/SingleSignOnServices/sysadmin')
ls()
wls:/domain/serverConfig/Servers/sysadmin/SingleSignOnService
s/sysadmin> cmo.getAllowedTargetHosts()

array(java.lang.String, [u'host1', u'host2'])

wls:/domain/serverConfig/Servers/sysadmin/SingleSignOnService
s/sysadmin> host = cmo.getAllowedTargetHosts()[1]

WebLogic Deploy Tooling support issue

Due to the Jython version upgrade in Oracle WebLogic Server 14.1.1.0.0, WebLogic Deploy Tooling 1.4.x and earlier do not support Oracle WebLogic Server 14.1.1.0.0.

Jython script upgrade failure

When using the latest Jython upgrade script, an error occurs if you create an empty ZIP file (zipfile.py). Close it and open it again for appending. The ZIP file fails to open and displays the IllegalArgumentException error.

Javaos replaced with os

The Python Lib module, javaos, has been replaced with the os module.

Change:

import javaos as os

To:

import os

Changes to the usage of the main value

The general PEP (Python Enhancement Proposal) standard for entering main (if the Python file is run as a script) is to check the name field to see if it is entered as a script, and then call the main function.

In Jython 2.2, the __name__ field contains the value main. In the latest version, the __name__ field contains the value '__main__'.

Change:

if __name__ == 'main':
	main(sys.argv)

To:

if __name__ == '__main__' or __name__ == 'main':
       main(sys.argv)

Modified Jython Script Functionality

Due to changes in functionality and bug fixes, the following changes to Jython scripts (*.py) are necessary:
  • raise no longer accepts a string as input. So, you must create your own error type as shown in this example:
    raise Exception("my exception text")
  • ex.printStackTrace() does not work. Instead, use the commands:
    import traceback
    traceback.print_exc()
  • Some forms of the import function do not always work on JDK11 that Oracle WebLogic Server 14.1.1.0.0 supports. The following forms of the import function should work properly:
    from some.package import *
    import some.package.*
    
    from some.package import SomeClass
    import some.package.SomeClass

    The explicit from form is most consistent as in this example:

    from weblogic.coherence.descriptor.wl import 
    CoherenceClusterParamsBean

Jython 2.7.0 startup performance regression

See Jython Issue 2605.

import * does not work on JDK9 for java.*, jdk.* namespaces

See Jython Issue 2362.

Web Services and XML Issues and Workarounds

This section describes the following issues and workarounds:

Sparse Arrays and Partially Transmitted Arrays Are Not Supported

Issue

Impacted Platforms: All

Oracle WebLogic Server does not support sparse arrays and partially transmitted arrays as required by the JAX-RPC 1.1 Spec.

Workaround

N/A

WSDL Compiler Does Not Generate Serializable Data Types

Issue

Impacted Platforms: 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.

Workaround

N/A

Use of Custom Exception on a Callback

Issue

Impacted Platforms: All

Oracle 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

Ensure 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

Issue

Impacted Platforms: All

You cannot use JMS transport in an environment that also uses a proxy server. The reason is that 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.

Workaround

N/A

clientgen Fails When Processing a WSDL

Issue

Impacted Platforms: All

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

Workaround

N/A

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

Issue

Impacted Platforms: All

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

Workaround

No workaround available.

Using SoapElement[] Results in an Empty Array

Issue

Impacted Platforms: 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

Issue

Impacted Platforms: All

When web service 'A' wants to invoke web service 'B', web service 'A' should use the @ServiceClient annotation. 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, Oracle 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

Issue

Impacted Platforms: 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 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 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, <sp: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

Issue

Impacted Platforms: All

For the xmlcatalog element in the build.xml file, 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.

Local xmlcatalog Element Does Not Work Well

Issue

Impacted Platforms: 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 outside of a target.

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

Issue

Impacted Platforms: 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 inline or in an external catalog file(s), or both. To use an external catalog file, the xml-commons resolver library (resolver.jar) must be in the 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. However, in this case, 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.

Occasional JAX-RS Error Message in the Server Log

Issue

Impacted Platforms: All

When shutting down an Oracle WebLogic Server instance that has a JAX-RS application running on it, you may observe the following error message in the server log:

<Error>
<org.glassfish.jersey.server.internal.monitoring.MonitoringStatisticsProcessor
> <BEA-000000> <Exception thrown when provider class 
org.glassfish.jersey.server.internal.monitoring.MonitoringFeature$StatisticsLi
stener was processing MonitoringStatistics. Removing provider from further
processing. ...

Workaround

This error message is benign and can be ignored.

WebLogic Tuxedo Connector Issues and Workarounds

This section describes the following issue and workaround:

View Classes are not Set on a Per Connection Basis

Issue

Impacted Platforms: 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 Changes

This section describes the following documentation errata:

Changes to the java.net Links

Issue

Impacted Platforms: All

The java.net site has closed. Most Open Source projects previously hosted on java.net have been relocated. See https://javaee.github.io. For any other questions or issues contact: java_administrator_grp@oracle.com.

Workaround

N/A

Issues With Search Function in the Samples Viewer

Issue

Impacted Platforms: All

The Search function in the Samples Viewer does not work when you access the Examples documentation from the Windows Start menu: select Oracle WebLogic, click WebLogic Server, select Examples, and then click Documentation.

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.

Search Results Display Japanese and English Text for Avitek Medical Records

Issue

Impacted Platforms: All

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

Workaround

N/A

HTML Pages for Downloaded Libraries Do Not Display Properly

Issue

Impacted Platforms: All

After extracting the Oracle 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 (Oracle WebLogic Server 10.3.0 documentation library)

  • E12839_01 (Oracle WebLogic Server 10.3.1 documentation library)

  • E14571_01 (Oracle 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, extract 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.

Deprecation Information for File T3 Service is Missing in the WebLogic Server Administration Console Online Help

Issue

Impacted Platforms: All

Support for WebLogic File T3 service is deprecated and will be removed in a future WebLogic Server release. However, this deprecation status is not reflected in some pages of the Oracle WebLogic Server Administration Console Online Help documentation. All such File T3 references will be removed from the Oracle WebLogic Server Administration Console Online Help in a future WebLogic Server release.

Workaround

N/A

Administration Console Online Help Incorrectly Displays the Configure the Default JPA Persistent Provider Page

Issue

Impacted Platforms: All

In Oracle WebLogic Server 12c (12.2.1.4.0) and later versions, there is no JPA tab under Configuration > General option for a domain in the Administration Console. The Oracle WebLogic Server Administration Console Online Help incorrectly displays the help page Configure the default JPA persistence provider.

This page will be removed from the Oracle WebLogic Server Administration Console Online Help in a future release of Oracle WebLogic Server.

Workaround

N/A

Incorrect Maven Version Number in the Developing Applications Using Continuous Integration Guide

Issue

Impacted Platforms: All

The Building Java EE Projects for WebLogic Server with Maven chapter in Developing Applications Using Continuous Integration contains the incorrect plug-in version number for Oracle WebLogic Server 14.1.1.0.0 Maven coordinates. The plug-in version numbers should read 14.1.1-0-0 instead of 12.2.1-0-0.

Workaround

N/A