This chapter describes issues associated with Oracle WebLogic Server 12.1.3.
This section describes the general issues and workarounds:
Issue
Impacted Platforms: 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()
Issue
Impacted Platforms: All
The Oracle ojdbc14.jar
file has been changed to ojdbc6.jar
, for use with JDK 5 or 6.
Workaround
Any explicit references you make to ojdbc14.jar
must be changed to ojdbc6.jar
.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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:
Issue
Impacted Platforms: Generic
Coherence users who do not have a dependency on WebLogic Server, and who want to use Maven, should use the standalone Coherence installer.
Coherence users who do have a dependency on WebLogic Server who want to use Maven must choose the "WebLogic Server" or "Complete with Examples" installation options. Do not choose the "Coherence Installation" option.
Workaround
No workaround available
Issue
Impacted Platforms: IBM AIX and zLinux
If WebLogic Server is configured with IBM JDK 6.0 Service Refresh 16 with Fix Pack 3, or JDK 7.0 Service Refresh 8 with Fix Pack 10, WebLogic Server may not function correctly if you do not install the fix for APAR IV71293 on that JDK. APAR IV71293 is described at the following URL:
Workaround
You can obtain the fix for APAR IV71293 using either of the following methods:
Go to the IBM Support Portal, where you can open a Problem Management Record (PMR) using the Service Request (SR) tool and request the fix for APAR IV71293.
Go to the IBM Java for ISVs portal and download the fix as follows:
Enter the following URL in a browser:
https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-ibmjavaisv
Log in with your universal IBM ID. (You may need to contact IBM support for your entitlement agreement key.)
Download one of the following fixes, as appropriate for your IBM JDK release:
For JDK 6.0 SR16 FP3: pap6460sr16fp3ifix-20150323_01 (SR16FP3 + IV71293)
JDK 7.0 SR8 FP10: pap6470sr8fp10ifix-20150323_01 (SR8FP10 + IV71293)
Issue
Impacted Platforms: Generic
The utility Apache packages, com.bea.util.jam
and com.bea.util.jam.visitor
are incorrectly published in the Java API Reference document as being open-source.
Workaround
These packages are not intended for public consumption.
This section describes the following issues and workarounds:
Topics
Administration Console Does Not Always Reflect External Changes Made in a Deployment Plan
Application Testing Links Fail to Resolve in Administration Console
Error When Configuring Security Role For Newly Created Coherence Cluster Service or Cache
Online Help States "Start Node Manager Using a Shortcut on the Start Menu"
Issue
Impacted Platforms: All
Information about cached JDBC statements is not displayed on the JDBC Monitoring pages.
Workaround
No workaround available.
Issue
Impacted Platforms: All
After a page flow completes in the 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 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 WebLogic Server Administration Console.
Issue
Impacted Platforms: All
The 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 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.
Issue
Impacted Platforms: 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.
Workaround
Please refer to the Cluster: Monitoring: Failover page for definitive information.
Issue
Impacted Platforms: All
When defining security policies in the 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 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.
Issue
Impacted Platforms: All
The WebLogic Server 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.
Issue
Impacted Platforms: All
In some configurations, the Application Testing pages included in the WebLogic Server Administration Console use IPv6 addresses in the testing links. These addresses are valid for WebLogic server instances, but in some mixed IPv4 and IPv6 environments, these addresses cannot be used from the browser to interact with applications and the testing links cannot be 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
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: All
An unexpected error condition is noted in the 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 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 that "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 ensures that the Coherence cluster resources are available for role and policy configuration.
Issue
Impacted Platforms: MS Windows
The option to start Node Manager on Windows machines using a shortcut on the Start menu has been removed in WebLogic Server 12.1.2.
Workaround
Ignore this text: "On Windows, you can start Node Manager using a shortcut on the Start menu."
Use other methods to start Node Manager. See Starting and Stopping Node Managerin Oracle Fusion Middleware Administering Node Manager for Oracle WebLogic Server.
There are no known Apache Beehive Support issues in this release of WebLogic Server.
Topics
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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
No workaround available.
Topics
This section describes the following issues and workarounds:
ASProvWorkflowException Occurs When Creating a WebLogic Domain
Use the -Dfile.encoding Property When Running WLST in a Non-English Locale
Configuration Tools Can Fail If WebLogic Installation Path Contains Spaces
Abnormal Behavior in Terminal Window After Entering WebLogic Password
Password Field Is Not Editable When Configuring a New Domain
Administration Server Memory Consumption and JMX Notifications
Changing Domain From Development To Production Mode Does Not Change Start Scripts
Issue
Impacted Platforms: 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.
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.
Workaround
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%\common\bin\wlst.cmd
Issue
Impacted Platforms: 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:
regedit
.NtfsDisable8dot3NameCreation
and set its value to 0
.Issue
Impacted Platforms: All
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 starting the Managed Server.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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
Issue
Impacted Platforms: 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:
Kill all scim processes. For example:
kill `pgrep scim`
Modify (or create) the file ~/.scim/config
to include the following line (case-sensitive):
/FrontEnd/X11/Dynamic = true
If you are running VNC, restart the VNC server.
Run the Configuration Wizard again.
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 WebLogic Server level, to simulate the unregister MBean notifications when a Managed Server shuts down.
At the JDK JMX client notification layer.
The likelihood of encountering this issue increases when both of the following conditions exist:
EM Fusion Middleware Control is being used to manage large domains, as it adds notification listeners to the Domain Runtime MBean Server.
Fusion Middleware products that significantly increase the number of JMX runtime MBeans are included in the domain. This would include any product with MBeans that are registered in WebLogic Server Runtime MBean Server instances running in the domain; that is, in the Administration Server as well as all Managed Servers. (These products include Coherence, SOA Suite, OSB, and so on.)
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 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.
The managed-server-notifications-enabled
attribute can be set using WLST as follows:
edit() startEdit() cd("JMX/domain-name") cmo.setManagedServerNotificationsEnabled(false) activate()
editCustom()
MBeansIssue
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 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 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.
Issue
Impacted Platforms: All
Two development servers cannot be started on the same host if they are sharing a single Derby instance.
Workaround
Configure each development server to use its own unique instance of Derby instead of sharing a single Derby instance. For more information see Running Each Domain with a Unique Derby Instancein Developer's Guide for Oracle Service Bus.
Issue
Impacted Platforms: All
If the 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 WebLogic Server cluster that is also created by the Configuration Wizard. If no Managed Server or 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 WebLogic Server configuration tool, which results in the Coherence cache configuration override file not being detected by the Coherence cluster. Please note that this issue only occurs if you are using the cache override feature.
Workaround
Use the following workaround:
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.
Issue
Impacted Platforms: All
The Managed Server fails to boot.
Workaround
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.
Issue
Impacted Platforms: All
When you change a domain from development mode to production mode:
The domain start scripts (and the value of the -Xverify
flag) do not change.
The boot.properties
file continues to be in use.
Workaround
In production mode domains:
The value of the -Xverify
flag in the start scripts needs to be changed from none
to all
.
The boot.propeties
file needs to be removed. For more information, see "Development and Production Mode" in Oracle Fusion Middleware Understanding Domain Configuration for Oracle WebLogic Server.
Issue
Impacted Platforms: All
When executing a WLST script or WLST command, a TypeError: state(): 1st arg can't be coerced to String error occurs
. This error occurs because a WLST class name server
was 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.
Issue
Impacted Platforms: All
The Publish Meta Data button is not displayed in the WebLogic Server Administration Console when configuring SAML 2.0 services in a domain that contains a dynamic cluster. When configuring SAML 2.0 in a static domain, you access the Publish Meta Data button from the Environment > Servers > ServerName > Configuration > Federation Services > SAML 2.0 General page.
Workaround
Configure SAML 2.0 using the server template for the dynamic cluster and then use WLST commands to publish the metadata file.
There are no known Connector (Resource Adapter) issues in this release of WebLogic Server.
There are no known Extensions issues in this release of WebLogic Server.
This section describes the following issues and workarounds:
Topics
NodeManager, Administration Server, or Managed Servers Fails
Servers Configured to Listen on a Host Name Are Listening on a Different Host Name After Startup
Administration Server or Node Manager Cannot Track the Status of a Managed Server
Multicast Traffic Observed to be Unreliable During or After a Network Partition
Initial Connection May Remain Open When Using t3 Protocol with External Load Balancers
Managed Server Fails to Start When Added to Multicast Cluster
Issue
Impacted Platforms: zLinux
A java.io.IOException
may occur when creating a multicast socket with an IPv4-format address for a WebLogic Server cluster if the JDK or operating system is configured for IPv6 format.
Workaround
Include the -Djava.net.preferIPv4Stack=true
parameter in the server startup command.
Issue
Impacted Platforms: 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
Issue
Impacted Platforms: 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.
For more information about timeout properties, see Setting Client Timeouts in Oracle Fusion Middleware Developing RMI Applications for Oracle WebLogic Server.
Issue
Impacted Platforms: 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
Issue
Impacted Platforms: 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.
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 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.
Issue
Impacted Platforms: 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:
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.
Add the following entry to the C:\Windows\system32\drivers\etc\hosts file on the machine:
<ip_address> <hostname>
Change the order of the network cards in the machine so that the card with the actual node's host name is Card 1.
Issue
Impacted Platforms: 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 WebLogic Server Administration Console will show the status of the managed server as UNKNOWN, but the server will actually be RUNNING in MSI mode.
Workaround
No workaround available
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: All
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 available.
Issue
Impacted Platforms: 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.
Workaround
No workaround available
Issue
Impacted Platforms: All
If you have a cluster containing at least two Managed Servers, and the messaging mode of the cluster is set to multicast, then the Managed Servers in the cluster will fail to start.
Workaround
To workaround this issue, add the following property to JAVA_OPTIONS
in the startup script startWebLogic.sh
. For example:
export JAVA_OPTIONS="${JAVA_OPTIONS} –Djava.net.preferIPv4Stack=true"
Topics
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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).
Workaround
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 Oracle Fusion Middleware Developing JTA Applications 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 Oracle Fusion Middleware Developing JDBC Applications for Oracle WebLogic Server.
Issue
Impacted Platforms: All
For a non-XA connection, setAutoCommit(true)
is called if the connection is currently in auto-commit false
state when a connection is closed. This should automatically commit any outstanding local transaction, but some drivers are not compliant with the JDBC specification and leave the transaction open. If the application does not complete (commit or rollback) the local transaction before closing the connection, the connection is returned to the pool with outstanding work that may never be completed or it may be committed or rolled back by the next reservation of that connection. To prevent this from happening, a WebLogic data source calls commit on the connection when returning it to the pool. See Local Transaction Completion When Closing a Connection in Oracle Fusion Middleware Administering JDBC Data Sources for Oracle WebLogic Server.
Workaround
This is a performance regression that can be fixed by setting the system property weblogic.datasource.endLocalTxOnNonXaConWithCommit=false
if you know that your driver automatically commits the local transaction on setAutoCommit(true)
or your application code always completes the transaction before calling close.
Topics
This section describes the following issues and workarounds:
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 only apply security policies to JAR files that are EJBs or Web applications.
Workaround
No workaround available
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
Issue
Impacted Platforms: 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();
Issue
Impacted Platforms: 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
Workaround
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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: All
If you create an application and deploy it to a target, and then try to deploy that same application to that same target, no relevant output message is displayed to inform you that your application is already deployed to that particular target. This occurs because when the application is deployed the second time it is considered to be the equivalent of a redeploy.
Workaround
No workaround available.
Topics
This section describes the following issue and workaround:
Issue
Impacted Platforms: All
An error occurs when using the appc Maven plug-in after installing WebLogic Server Maven artifacts to the local repository using the Maven synchronization plug-in.
Workaround
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.
Topics
This section describes the following issues and workarounds:
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.
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 put the <timer-implementation>
element and corresponding values into the file.
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
No workaround available
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: All
The WebLogic Spring injection extension model doesn't support lookup method injection.
Workaround
No workaround available.
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 a PersistenceManagerFactory
should not generally be necessary in a managed environment.
Workaround
No workaround available.
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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
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(); }
Issue
Impacted Platforms: 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.
There are no known Examples issues in this release of WebLogic Server.
Topics
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
Topics
This section describes the following issue and workaround:
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: Windows
While installing WebLogic Server 12.1.3 on Windows 2012 R2 platforms, you may see a warning that Windows 2012 R2 is unsupported. This warning is incorrect; Windows 2012 R2 is supported in this release.
Workaround
No workaround available.
Topics
This section describes the following issues and workarounds:
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 changes the behavior of reflection and may affect reflection-based frameworks such as Struts.
Workaround
No workaround available.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Topics
This section describes the following issues and workarounds:
Issue
Impacted Platforms: All
Oracle WebLogic Server 12.1.2 supports JDK 7 for execution of server applications, and JDK 6 and JDK 7 for WebLogic Server 12.1.2 clients connecting to WebLogic Server 12.1.2 servers. Oracle JRockit is not supported for execution of WebLogic Server 12.1.2 and later server applications. For more information, see Supported Configuration in Oracle Fusion Middleware What's New in Oracle WebLogic Server 12.2.1.2.0.
Workaround
No workaround available
Topics
This section describes the following issues and workarounds:
Exception When Multiple Producers Use the Same Client SAF Instance
Multi-byte Characters are not Supported in Store File and Directory Names
Testing Abrupt Failures of WebLogic Server When Using File Stores on NFS
JMS Message Consumers Will Not Always Reconnect After a Service Migration
Custom Domain Template Upgrade May Result in Lost Topic Messages or Deplete Server Memory
Configuration Wizard Allows Targeting of Bridges To Mixed and Dynamic Clusters
Set System Properties for Interoperability with Existing JMS .NET Clients
JMS Distributed Destinations Are Not Present After Extending a Domain
Issue Using the MessagingBridgeRuntimeMBean Start and Stop Methods
Issue
Impacted Platforms: All
Deployment descriptor validation fails when descriptor validation is enabled, and an EAR file contains only JMS modules.
Make sure that there is at least one Java EE specification-compliant module in the EAR.
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, try introducing a small delay between the creation of each new client.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: All
WebLogic Server abruptly fails when using file stores on NFS.
Workaround
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."
Issue
Impacted Platforms: 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
.
Issue
Impacted Platforms: All
When using ExadataDatabase 11.2.0.3, after Daylight Saving Time (DST) changes, when Oracle Advanced Queueing (AQ) JMS receives a message, dequeue fails with the following error: JMS-120: Dequeue failed
, which is caused by java.sql.SQLDataException: ORA-01878: specified field not found in datetime or interval
.
This occurs in some Message-Drive Bean (MDB) applications after DST changes and it may potentially happen for other AQ JMS applications that are receiving messages.
Workaround
Download and apply patch 13880758 for ExadataDatabase 11.2.0.3 to solve the AQ JMS issue in WebLogic Server. You can download this patch from My Oracle Support.
Issue
Impacted Platforms: All
As of 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 WebLogic Server 12.1.2, and that template includes JMS servers and WebLogic stores that are not explicitly targeted to a Managed Server or a cluster, targeting results will 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 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 will not be delivered to the MDB, and the original subscriptions will continue to accumulate new messages.
When planning your upgrade, note the following important changes:
If you follow the instructions in Oracle Fusion Middleware Upgrading Oracle WebLogic Server and use the Reconfiguration Wizard to reconfigure your existing pre-12.1.2 domain, the configuration and durable topic subscriptions will remain intact.
If you regenerate your domain using a custom template, as described above, the resulting configuration will differ from previous releases and new durable topic subscriptions will be created when the system is started. However, old durable topic subscriptions will remain. Those subscriptions may contain unprocessed messages that will continue to accumulate messages, depleting server memory.
Workaround
Choose one of the following recommended workarounds:
Use the Reconfiguration Wizard to upgrade the domain in place.
Drain messages before upgrading or regenerating the domain configuration. After upgrading, use the WebLogic Server Administration Console to search and delete old JMS subscriptions.
Delete JMS file store files or JMS JDBC store tables. Note that all messages persisted in the file or table will be deleted.
Issue
Impacted Platforms: All
Targeting a messaging bridge to a mixed or dynamic cluster is not supported. No exception occurs when this is attempted.
Workaround
No workaround available.
Issue
Impacted Platforms: All
Enabling JMS .NET clients developed prior to WebLogic Server 12.1.3 to interoperate with WebLogic Server 12.1.3.
Workaround
To enable JMS .NET clients developed prior to WebLogic Server 12.1.3 to interoperate with WebLogic Server 12.1.3, set the following system property on your WebLogic Server 12.1.3 instances:
-Dweblogic.protocol.t3.login.replyWithRel10Content=true
The default value is false
for interoperability with existing JMS .NET clients developed prior to WebLogic Server 12.1.3.
Issue
Impacted Platforms: All
After extending a domain using an extension template that was generated from a domain that contains JMS distributed destinations, the distributed destinations are not present in the domain. This impacts the following distributed destinations:
distributed-queue
distributed-topic
uniform-distributed-queue
uniform-distributed-topic
If any of these elements are contained in the JMS XML files in the source template, they are not processed and are not configured in the destination domain.
Workaround
To resolve this, use the following sequence of WLST commands, either interactively or in a script:
readDomain('domain_path') addTemplate('extension_template_file') unassign('JmsSystemResource','resource_name','Target','destination_name') For example: unassign('JmsSystemResource','JMSModule','Target','C1') assign('JmsSystemResource','resource_name','Target','destination_name') For example: assign('JmsSystemResource','testModule','Target','Server-1') unassign('JmsSystemResource','resource_name','Target','destination_name') For example: unassign('JmsSystemResource','testModule','Target','Server-1') assign('JmsSystemResource','resource_name','Target','destination_name')For example: assign('JmsSystemResource','testModule','Target','C1') updateDomain() closeDomain()
Issue
Impacted Platforms: All
Using the weblogic.management.runtime.MessagingBridgeRuntimeMBean
start
and stop
methods results in the following error: java.lang.UnsupportedOperationException: This method is not implemented on runtime mbean
.
Workaround
Instead, use the isStarted
method on the weblogic.management.configuration.MessagingBridgeMBean
. See https://docs.oracle.com/middleware/1213/wls/WLAPI/weblogic/management/configuration/MessagingBridgeMBean.html#isStarted()
.
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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.
Workaround
No workaround available
Issue
Impacted Platforms: 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.
Workaround
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 issue was fixed in RedHat 5.3.
Issue
Impacted Platforms: 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 WL_HOME
/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.
Issue
Impacted Platforms: Linux
Description of the issue and when it might occur
Workaround
Increase the stack size from the default 128k to 256k.
Issue
Impacted Platforms: 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
Issue
Impacted Platforms: 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
/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.
This section describes the following issue and workaround:
Issue
Impacted Platforms: 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 Server Administration Console.
Workaround
You can explicitly mark MBean attributes as @unharvestable
.
Issue
Impacted Platforms: All
When specifying a wildcard pattern in a variable for a watch rule expression that matches custom MBean ObjectName patterns, ensure that the pattern is sufficiently explicit. If you exclude an MBean type name and use an ambiguous instance pattern, the following may result:
Only WebLogic Server runtime MBean instances are matched to the pattern.
The desired custom MBean instances are ignored.
For example, the following ObjectName pattern does not explicitly declare a type and uses an ambiguous ObjectName pattern that can match a WebLogic Server runtime MBean instance:
${ServerRuntime//com.b*:Type=Server*,*}
Workaround
To avoid confusion, use a sufficiently explicit ObjectName pattern, or declare the MBean type in the variable expression.
Issue
Impacted Platforms: All
This issue is related to a change in how 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, if the Harvester and Watch elements in your deployed descriptor resemble the following:
<harvester> <name>MyExternalResource</name> ... <watch-notification> <name>MyExternalResource></name> ...
and you register this descriptor with the runtime control as createSystemControl("resource1", ...)
, previously 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 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.
Issue
Impacted Platforms: All
If you configured the WLDF archive for servers in a domain to use an Oracle EBR editioned schema, and attempt to upgrade that schema using 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 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 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 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 lost 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.
Topics
This section describes the following Node Manager issue and workaround:
Issue
Impacted Platforms: Linux
On some specific Linux platforms and versions, there is an issue removing a virtual interface/alias dynamically. Removing the virtual interface that is the primary address of the interface may result in other secondary virtual IP addresses being removed at the same time. This may lead to random exceptions occurring with Node Manager during server migration. If you have this issue, you may occasionally find exceptions in the Node Manager log file when shutting down a server after migration. For example, you may receive the following error:
java.io.IOException: Command '/<PATH to DOMAIN>/bin/server_migration/wlsifconfig.sh -removeif -IPv4 eth0 X.X.X.X returned an unsuccessful exit code '1'
.
Here is an example of the issue:
First, add three virtual interfaces, with the first one being the primary:
$ sudo /sbin/ifconfig eth0:4 X.X.X.178 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:5 X.X.X.179 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:6 X.X.X.180 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:4 down
When removing the primary (first one in list), the other two will be automatically removed at the same time.
Workaround
To fix this issue temporarily, use the following command to enable the promote_secondaries
flag on your network interface. Replace eth0
with your actual interface name:
$ sudo /sbin/sysctl net.ipv4.conf.eth0.promote_secondaries=1
You can also use the following command to update the default setting for all interfaces:
$ sudo /sbin/sysctl net.ipv4.conf.all.promote_secondaries=1
If this is enabled and the primary address of an interface gets deleted, a secondary interface will be upgraded to become the primary interface. The default is to purge all the secondary interfaces when you delete the primary interface.
To permanently remedy this issue after server reboot, update the sysctl.conf
file. For example:
$ echo "net.ipv4.conf.eth0.promote_secondaries=1" >> /etc/sysctl.conf
Issue
Impacted Platforms: Solaris on x86-64, SPARC 64, and HPUX IA64
There is a fundamental difference between Node Manager starting a server using a start script and Node Manager starting a server using the Java command. When using the start script, the -d64 flag is added based on some script language that detects the platform. Node Manager does not add this flag when starting a server with the Java command.
Workaround
When starting a server using Node Manager through the Java command, specify arguments such as -d64 in the ServerStart
arguments field.
Issue
Impacted Platforms: All
In rare cases, Oracle HTTP Server (OHS) instances that are managed by WebLogic Server may start in state UNKNOWN
. This can occur if the Administration Server is unable to initialize the state of the OHS instance, for example, if Node Manager is not running at the time the OHS instance is created and if you connect directly to 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 properly initialized.
Issue
Impacted Platforms: MS Windows
After upgrading from a prior WebLogic Server release to WebLogic Server 12.1.3, the Windows Node Manager service is still using the older JKS security model instead of the KSS security model. Therefore, when starting the service, JKS is loaded instead of KSS.
Workaround
Prior to installing the Node Manager service after upgrade, edit the installNodeMgrSvc.cmd
command by copying the section similar to the following example from startNodeManager.cmd
. If you have already installed the Node Manager service, you must deinstall the Node Manager service, make the following edits, and then re-install the service.
set JAVA_OPTIONS=%JAVA_OPTIONS% -Doracle.security.jps.config=C:\OracleHome11g\user_projects\domains\mydomain\config\fmwconfig\jps-config-jse.xml -Dcommon.components.home=C:\OracleHome1213\Oracle_Home\oracle_common -Dopss.version=12.1.3 if NOT "%POST_CLASSPATH%"=="" (set POST_CLASSPATH=C:\OracleHome1213\Oracle_Home\oracle_common\modules\oracle.jps_12.1.3\jps-manifest.jar;%POST_CLASSPATH%) else (set POST_CLASSPATH=C:\OracleHome1213\Oracle_Home\oracle_common\modules\oracle.jps_12.1.3\jps-manifest.jar)
Issue
Impacted Platforms: All
WLST offline, as well as the pack
and unpack
commands, do not support setting the following new Node Manager replacement properties that are introduced in WebLogic Server 12.1.3.
Deprecated Property | Replacement Property |
---|---|
|
|
|
|
|
|
|
|
|
Use |
|
|
|
|
|
|
|
|
|
|
Workaround
If you configure Node Manager properties using WLST offline, or the pack
and unpack
commands, you must continue to use the preceding deprecated properties, which remain fully supported in WebLogic Server 12.1.3. For more information, see Node Manager Properties in Oracle Fusion Middleware Administering Node Manager for Oracle WebLogic Server.
There are no known Operations, Administration, and Management issues in this release of WebLogic Server.
This section describes the following Oracle Kodo issue and workaround:
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
This section describes the following issue for various WebLogic Server plug-ins:
Issue
Impacted Platforms: All
Under the following circumstances, the IIS plug-in may not work, resulting in an apr_socket_connection
error:
Both the IIS and WebLogic Server instances are on the same machine.
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).
The listen address of the WebLogic Server instance is set to the simple host name.
Either the directive WebLogicHost or WebLogicCluster is set to the simple host name for the IIS instance.
Workaround
No workaround available.
Issue
Impacted Platforms: All
Introspection fails and users receive an error when they try to introspect a domain that they cannot write into.
Workaround
Change the permissions on the domain root directory to allow the user that executes the introspect.
Issue
Impacted Platforms: All
In Oracle Virtual Assembly Builder (OVAB) Studio, HTTP proxying is disabled. You can use a system property to enable HTTP proxy detection.
Workaround
You can set this system property for each execution of a Studio launch, or permanently by modifying the abstudio.sh
file.
To set the property for a single execution of OVAB Studio:
Shut down OVAB Studio.
Remove the configuration directory:
$AB_INSTANCE/state/gui/$USER/system.12.1.2.0.0
(or equivalent)
Restart the GUI with the property set to some value, for example 1:
./abstudio.sh -J-Dovab.studio.enableHttpProxy=1
You must define the property in every ensuing execution of the GUI or the property setting in abstudio.sh
will force proxying back to false.
To set the property to consistently enable HTTP proxying:
Edit the abstudio.sh
file in the instance bin directory.
Add the property setting to SYSPROPS as follows:
SYSPROPS="${SYSPROPS} -J-Dovab.studio.enableHttpProxy=1
After setting enableHTTPProxy=1
, you can set the proxy host, port, and exceptions using the standard Java properties http.proxyHost
, http.proxyPort
, and http.nonProxyHosts
. If you are using a nonstandard desktop environment on Linux, you may need to set the http_proxy
property with the valuehost:port
.
There are no known Protocols issues in this release of WebLogic Server.
This section describes the following issue and workaround:
Issue
Impacted Platforms: 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}"
Issue
Impacted Platforms: All
When a client invokes an EJB that is hosted in a WebLogic 12.1.2 domain configured to run in production mode, any invocation failure results in a truncated Java exception stack trace returned to the client.
Workaround
In the Java command that starts WebLogic Server, specify the following option:
-Dweblogic.PrintStackTraceInProduction=true
Issue
Impacted Platforms: All
When a remote client (a call from outside the container) uses IIOP and the wlclient.jar
file to call an EJB, and that EJB returns a value object that causes a class version mismatch between the client and the EJB, the following error occurs:
org.omg.CORBA.BAD_PARAM: Could not find FVD class
This issue may also occur between WebLogic Server instances. Note that this issue is present in this release of WebLogic Server and also in earlier releases.
Workaround
No workaround available.
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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 WebLogic Server 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.
Issue
Impacted Platforms: 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.
Workaround
No workaround available
Issue
Impacted Platforms: 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:
Issue
Impacted Platforms: 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:
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.
Issue
Impacted Platforms: All
BEA-090402
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
is just describing the most likely root cause, which is that the customer has modified the boot.properties
file or the boot user password and thus 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 which 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 other, less common causes.
Workaround
No workaround available.
Issue
Impacted Platforms: All
The 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 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>
Issue
Impacted Platforms: Generic
When starting an ODI Managed Server, the identity used to start the Managed Server is not mapping properly to the WebLogic Sever Administrator role, causing security errors. If these warnings are seen while starting the Managed Server, the embedded LDAP files from the Managed Server are causing a resynchronization of the policy from the Administration Server.
Workaround
Remove the embedded LDAP files in the folder <domain>/…/data/ldap/ldapfiles
from the Managed Server and restart the Managed Server.
This section describes the following issues and workarounds:
Issue
Impacted Platforms: All
The SNMP gauge and counter monitor configuration only accepts integer values as thresholds. As a result, these monitors cannot be configured to send traps based on MBean attributes that are non-integer types such as float
, long
or double
. The corresponding JMX-based gauge and counter monitor supports a threshold value which is a java.lang.Number
. However, the current SNMP implementation in WebLogic Server accepts only an int
value.
Workaround
You can use the Watch and Notification component of the WebLogic Diagnostic Framework (WLDF) to monitor any MBean attribute and generate a trap based on WLDF watch rules. A watch rule can be configured to monitor the thresholds of MBean attributes and send a SNMP notification when the watch rule evaluates to true
.
For more information, see Configuring Watches and Notificationsin Oracle Fusion Middleware Configuring and Using the Diagnostics Framework for Oracle WebLogic Server.
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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
.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
There are no known SCA issues in this release of WebLogic Server.
This section describes the following issue:
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
Issue
Impacted Platforms: All
The following exception occurs when upgrading Oracle WebLogic Server using the Reconfiguration Wizard with log_priority=ALL
:
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (NM_OPSS.IDX_JPS_RDN_PDN) violated
Workaround
No workaround available.
Issue
Impacted Platforms: All
The following exception appears in the reconfig.log
after invoking reconfig.sh
with log_priority=ALL
:
[org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 77; cvc-elt.1: Cannot find the declaration of element 'stringSubsInfo'.]
Workaround
No workaround available.
This section describes the following issues and workarounds:
Topics
Administration Console Fails to Implement session-timeout Changes
Database Connections Become Unstable When a PoolLimitSQLException Occurs
Unable to View the Output of a JSPX Page in Internet Explorer
Unable to View the Output of SVG files in Internet Explorer 7
Spring Dependency Injection Not Supported on JSP Tag Handlers
503 Error When Accessing an Application With a Valid sessionid
Applications Configuring jdbc-connection-timeout-secs Fail to Deploy
Issue
Impacted Platforms: Generic
After upgrading an application from a WebLogic Server version prior to 12.1.2, a MaxPostSizeExceededException
is reported in the web browser.
Workaround
Set the max-save-post-size
session-descriptor to the maximum size (in bytes) of the POST that will be saved or buffered by the container during FORM authentication.
Issue
Impacted Platforms: All
If the session-timeout
is configured in the web.xml
file, any changes made to change the session-timeout
using the WebLogic Server Administration Console do not take effect.
Workaround
Use a deployment plan to override the session-timeout
setting.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
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:
If you are using Internet Explorer or other web browsers, you can ignore the Warning page that appears and continue to the web page.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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/.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
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 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.
Workaround
No workaround available.
Issue
Impacted Platforms: All
As of 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 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.
Issue
Impacted Platforms: All
The HttpServletRequest
getLocale
and getLocales
methods changed their default behavior for getting the language tag in WebLogic Server. Before 12.1.3, the getLocale
and getLocales
methods return language tags according to RFC3066. Since 12.1.3, these methods return language tags according to RFC5646.
Workaround
If you want to get the language tag according to RFC3066, you need to set the langtag-revision
element of container-descriptor
in the weblogic.xml
file to 3066. For example:
<container-descriptor> <langtag-revision>3066</langtag-revision> </container-descriptor>
The system property -Dweblogic.servlet.langtagRevision
can also determine the locale parsing mechanism. However, if you set a value in langtag-revision
, that value overrides the setting in -Dweblogic.servlet.langtagRevision
. For more information, see langtag-revisionin Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server.
Issue
Impacted Platforms: All
In order to prevent incoming messages that are too large, Tyrus places a constraint on the message frame size. The default value is 4 MB.
Workaround
This value can be configured through the servlet context parameter. For WebLogic Server, this is the weblogic.websocket.tyrus.incoming-buffer-size
parameter and it can be edited as follows:
<context-param> <param-name>weblogic.websocket.tyrus.incoming-buffer-size</param-name> <param-value>value_to_tune</param-value> </context-param>
Issue
Impacted Platforms: All
As of 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 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, see "weblogic.xml Deployment Descriptor Elements" in Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server.
This section describes the following issues and workarounds:
Issue
Impacted Platforms: 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:
Issue
Impacted Platforms: 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
.
This section describes the following issue:
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
This section describes the following issues and workarounds:
Topics
weblogic.wsee.jaxws.mdb.DispatchPolicy WorkManager Cannot Be Found
Sparse Arrays and Partially Transmitted Arrays Are Not Supported
Cannot Use JMS Transport in an Environment That Also Uses a Proxy Server
Message-level Security in Callback Web Services Is Not Supported
Handling of Java Method Arguments or Return Parameters That Are JAX-RPC-style JavaBeans
IllegalArgumentException When Using a Two-Dimensional XML Object in a JWS Callback
FileNotFound Exception When a Web Service Invokes Another Web Service
Client Side Fails to Validate the Signature on the Server Response Message
xmlcatalog Element Entity Cannot Be a Remote File or a File in an Archive
Catalog File's public Element Is Not Supported When Using XML Catalogs
JAXRPC Client Does Not Encode the HTTP SOAPAction Header With Multi-byte Characters
External Catalog File Cannot Be Used in the xmlcatalog Element of clientgen
WS-AT Interoperation Issues With WebSphere and WebLogic Server
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Workaround
For complete details and a workaround, see Troubleshooting Problems When Applying the WebLogic Advanced Services for JAX-WS Extension Template in Oracle Fusion Middleware Developing JAX-WS Web Services for Oracle WebLogic Server.
Issue
Impacted Platforms: All
WebLogic Server does not support Sparse Arrays and Partially Transmitted Arrays as required by the JAX-RPC 1.1 Spec.
Workaround
No workaround available.
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
No workaround available.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
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
No workaround available.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
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
.
Issue
Impacted Platforms: 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 { ... }
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 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:
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>
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/>
.
Issue
Impacted Platforms: 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.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
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 out of any targets.
Issue
Impacted Platforms: 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.
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 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.
Issue
Impacted Platforms: 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 Oracle Fusion Middleware Tuning Performance of Oracle WebLogic Server.
Issue
Impacted Platforms: 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.
Workaround
No workaround available.
Issue
Impacted Platforms: All
Upon deployment of a JAX-RS based application that uses CDI backed JAX-RS components, the following error message is sent to the server log when the CONFIG
logging level has been enabled:
The EJB interceptor binding API is not available. JAX-RS EJB support is disabled. javax.naming.NameNotFoundException: While trying to look up /org.glassfish.ejb.container.interceptor_binding_spi
This message can be ignored as it is coming from an internal JAX-RS component implementation that is not supported in the WebLogic Server runtime environment. This error does not influence user application functions.
Workaround
No workaround available.
This section describes the following issue and workaround:
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.