![]() ![]() ![]() ![]() ![]() ![]() |
The following sections describe known problems in WebLogic Server 10.3, as well as problems that were resolved in earlier versions. Entries include a description of the problem, and a workaround or solution where appropriate. A notation in the Fixed In column indicates that the problem has been resolved.
For information about new and changed functionality in WebLogic Server, see “What’s New in WebLogic Server”.
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.
|
|||
If you deploy an application to a cluster and one or more clustered servers are unavailable (for example, servers partitioned from the cluster due to a network outage), the deployment operation may appear to hang. In addition, the partitioned servers may not deploy the application even after they successfully rejoin the cluster.
|
|||
Internal fields and methods were incorrectly documented in the API reference. These fields and methods have been deprecated and are no longer documented. You should remove any usage of these fields or methods.
For a complete list, refer to
“Deprecated Functionality” in Release Notes.
|
|||
Deployment may fail to complete and could timeout if a transient network error prevented the send of the completion message from the managed server to the administration server.
|
|||
Continuous improvements are made to the WebLogic Server documentation. The latest documentation for WebLogic Server is available from the WebLogic Server Product Documentation Web site at the following location:
http://e-docs.bea.com/wls/docs103/index.html
The MBean Reference will not document the interfaces to the SAML 2.0 Identity Asserter and SAML 2.0 Credential Mapping provider. Instead, the Javadoc for these MBean interfaces has been generated in a separate location that will be accessible from e-docs. The sections in Securing WebLogic Server that explain how to configure and manage the SAML 2.0 providers have been revised to include a link to this separate location.
For information about the MBean interfaces to the SAML 2.0 security providers, users need to refer to
http://e-docs.bea.com/wls/docs103/saml2_javadocs.
|
|||
|
|||
BEA WebLogic Express is no longer available from Oracle, therefore its description has been removed from the WebLogic Server 10.3 documentation. All WebLogic Express functionality is available and supported in other Oracle WebLogic Server products. You can upgrade your 10.0 and earlier WebLogic Express applications to WebLogic Server 10.3.
|
The EJB container always uses an outer join in a CMP bean finder when eager relationship-caching is turned on. Typically, inner joins are faster to execute than outer joins with the drawback that inner joins do not return rows which do not have data in the corresponding joined table.
In WLS 10.3, a new configuration element,
<use-inner-join> , has been added in weblogic-cmp-rdbms-jar.xml , as an attribute of <weblogic-rdbms-bean> , as shown here:
<weblogic-rdbms-bean>
|
|||
Currently, there is no way to serialize a business object in the EJB3 specification, which is different than a traditional component object.
When you need to serialize a business object, first invoke
BusinessObject._WL_getBusinessObjectHandle() to get the business handle object, then serialize the business handle object. To recover from this serialization, just deserialize to get the business handle object, then invoke its getBusinessObject() .
|
|||
For entity beans with a high cache miss ratio, maintaining ready bean instances can adversely affect performance.
By setting the flag
<disable-ready-instances> in the <entity-cache> element of an <entity-descriptor> , the container will not maintain the ready instances in cache. If the feature is enabled in the deployment descriptor, the cache will only keep the active instances. Once the involved transaction is committed or rolled back, the bean instance is moved from active cache to the pool immediately.
|
|||
When filtering out just the
org.apache.openjpa.* packages (but not the com.solarmetric.* and kodo.* packages), deployment of the application will fail with an exception message similar to this:
java.lang.IllegalArgumentException: interface
When deploying an application-provided version of OpenJPA, all three Kodo-related packages must be filtered using the
prefer-application- libraries directive:
<weblogic-application>
The Kodo and
com.solarmetric packages must be filtered even if you want to disable all Kodo features (that is, only use OpenJPA).
Additionally, if you want to provide your own version of
openjpa.jar , but use the WebLogic-provided Kodo jar , the application must still exclude kodo.* and com.solarmetric.* , and the application must bundle the Kodo jar from the WebLogic distribution.
Applications may also need to exclude
serp.* and bundle their own version of it at some point in the future if new APIs or bug fixes are introduced in that codebase. However, there are no interdependencies with serp as there are between the org.apache.openjpa.* , kodo.* , and com.solarmetric.* packages.
|
|||
In prior releases, the
DataCacheTimeout attribute was initialized and cached inside the ClassMetaData the first time it was accessed. After a configuration update, DataCacheTimeout still used the original cached value, although the configuration was updated.
This issue has been fixed in WLS 10.3.
DataCacheTimeout will use the newly configured global default value, with one limitation. For those classes that have a @DataCache annotation with a DataCacheTimeout value equal to the old default value, the DataCacheTimeout value will be equal to the newly configured default. For example, if the global configuration is set to 10 seconds, and a @DataCache annotation override is 10 seconds, if the global default is updated to 20 seconds, the @DataCache annotation is also updated to 20 seconds because it is the same as the original global default value.
|
|||
The JDT project provides a set of plug-ins that add the capabilities of a full-featured JAVA IDE to the Eclipse platform. Use the JDT compiler for improved performance as compared to Javac.
For
For WLS, use the
Please refer to http://www.bea.com/ns/weblogic/920/domain.xsd for more information. |
|||
The second case can be resolved by downloading the needed classes from the server side. If network downloading is disabled, however, the invocation will fail still. If network downloading isn't permitted in the user's environment, it is recommended that you run
appc first, then add the generated classes to the classpath of the client side.
|
|||
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.
|
|||
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.
|
|||
In previous WLS releases, it was possible that some classes could be loaded without enhancement if the module in which the
persistence.xml was defined was declared after some of the dependent modules referencing those persistent classes (for example, if SB.jar is dependent on persistent classes defined in domain.jar , and domain.jar is declared after SB.jar in an EAR ). In this case, the dependent module which does not have the persistence.xml declared in it gets loaded, and the persistent entity classes are not enhanced. This can result in the following error:
java.lang.NoSuchMethodError: pcGetManagedFieldCount
In WLS 10.3, the classloader hooks for runtime enhancement for all the EJBs are installed first. The webapp modules are then processed in order after their classloader initialization completes. This resolves the issue.
There is a narrow possibility that the
NoSuchMethodError message could still occur if all of the following conditions are true: (a) a custom class loader configuration is defined, (b) two webapp modules share the same classloader and persistence classes, (c) one of the modules has persistence.xml and the other module doesn't, and (d) the webapp module that has the persistence.xml is not declared or occurs earlier in the order of the modules of the EAR . In this case, some entity classes may load without enhancements. To prevent this, the modules should be ordered in the opposite way.
|
|||
On a Microsoft Vista system, the generic installer normally must be run with administrative permissions for all installation tasks to be successful. Administrative permissions are required if:
|
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:
|
|||
Reconnecting
transactedSession.commit() or transactedSession.rollback() calls may throw exceptions more than once when reconnecting.
When a transacted session allows reconnect (that is, when a
WLConnection.getReconnectPolicy() is not none ), the first call to session.commit() or session.rollback() will throw an exception after the server WLConnection has reconnected after a failure. This is expected behavior. Unfortunately, the second call to commit() or rollback() may also throw an exception.
|
|||
Certain JMS applications could cause a memory leak on a WebLogic server if periods (that is, dots) or slashes are present inside Connection IDs or Subscriber IDs. This issue typically occurs only for applications that both (a) continuously create and destroy durable subscriptions on topic destinations, and (b) specify a unique string prior to the last ‘.’ or ‘/’ in the Connection ID or Subscriber ID for each new durable subscription, instead of reusing strings from past destroyed subscriptions.
|
|||
A C program that uses the JMS C client library may crash with a JVM failure. This could be related to a known intermittent race-condition that is only known to occur with certain JVM products, where the likelihood of failure can change based on the JVM version and patch level, operating system, and hardware. Specifically, the JMS C-Client library implicitly attaches C-threads to the JVM, but fails to detach them when it is done with them.
Sun 1.5 and later can specifically handle this problem, although it is still recommended to call detach even with the Sun JVM. For more information, see: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219874 |
|||
Due to a known Sun Microsystems VM bug (513552), a 1.4 Thin Client Applet cannot contact WebLogic Server 9.0 or later. This is because the VM does not distinguish correctly between a client and a server connection. The VM creates a server-type connection and caches it. It then attempts to make a client-type connection, finds the cached connection and tries to use that, but then encounters an error because clients are not allowed to use server connections.
|
|||
Applications that run on RH Linux on Intel G5 processors and that also directly or indirectly use system time calls may experience intermittent time issues if the
ClockSource is set to tsc (the default). The standard POSIX C gettimeofday() call, and consequently also the Java System.currentTimeMillis() and java.util.Date() calls can intermittently return a value that is approximately 4400 seconds in the future, even in a single-threaded application.
This issue is not unique to WebLogic or Java, but applies to any application running on RH Linux on Intel G5 processors. Issues can occur for applications that either explicitly make a time call using standard Java, or explicitly by using any time-based application server services.
Possible symptoms include, but are not limited to, premature transaction timeouts, unexpected expiration of JMS messages, and incorrectly scheduled timers.
If you're interested in a standalone reproducer for this problem, contact Oracle and reference CR363053.
There's no known official patch for Linux. Instead, change the clock source from
tsc to hpet . After making this modification on test systems, exceptions due to invalid System.currentTimeMillis()/gettimeofday() return values were no longer seen. To change the system clock from tsc to hpet on a trial basis, perform the following steps as root :
Note that this change will not survive a reboot. For more information, please see:
http://www.gossamer-threads.com/lists/linux/kernel/813344 |
The 2.0.2 version of the Spring Framework is certified for WLS 10.3.
The WLS 10.3 installation does not include the Apache HTTP server plug-ins. For instructions on how to download and install them, see
“Installing the Apache HTTP Server Plug-In” in Using WebLogic Server Plug-ins with WebLogic Server.
|
The Web Services default
JdkSSLAdapter class directly instantiates the Sun HTTPS protocol handler (sun.net.www.protocol.https.Handler ). In IBM JVMs this class does not exist, causing a noClassDefFoundError whenever the JdkSSLAdapter was used.
In WLS 10.3, it is determined if the Sun class name is present by calling
Class.forName() . If the class is successfully loaded and a Class object is returned, it is used to instantiate the Sun protocol handler, which is then used as before. If the class is not loaded, the same is attempted using the name of the equivalent IBM class (com.ibm.net.ssl.ww2.protocol.https.Handler ). In the unlikely event that neither class can be loaded, an IOException is thrown and the operation fails.
|
|||||
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);
String getStringProperty() {
|
|||||
In certain circumstances, the invocation of a WebLogic Web Service configured for reliable messaging will throw the following
PersistentStoreRuntimeException error:
weblogic.store.PersistentStoreRuntimeException: [Store:280051]The persistent store was not able to create a new record.
|
|||||
The WLS web service client generated from the Google
wsdl can not call the Google service. A SOAP Fault is returned from calling.
The Google services require the elements in the request SOAP to define the
xsi:type attribute. You can set the WLStub.MARSHAL_FORCE_INCLUDE_XSI_TYPE property to 'true ' for the client stub. Here is an example code snippet:
GoogleSearchService service = new GoogleSearchService_Impl();
|
|||||
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 Web Service B's WSDL, then Web Service A will fail to run. Web Service A will look for the policy file at /Web-Inf/classes/policies/xxx.xml . Since no policy file exists at that location, WebLogic Server will throw a file not found exception.
|
|||||
If you turn on the XMLRegistry service on Weblogic Server, a cache service is enabled which can cache the DTD/Schema file content after an XML file has been validated. If another XML file using the same DTD/Schema is validated, the DTD/Schema file content will be retrieved from the cache service.
If the actual DTD/Schema file content is changed before the cached content expires, the cache service doesn't know to update the cached content.
You can set
<handle-entity-invalidation> in config.xml to indicate that the cached DTD/Schema content will be invalidated when an XML file has failed to be validated. By doing so, the cache service will update the cached content and the XML file will be validated automatically again. If the validation always fails, then the validation fault is thrown. You must manually configure config.xml to set <handle-entity-invalidation> .
Example 1. To enable handling cache invalidation for a single entity (also applicable to the SAX Parser):
<xml-registry>
<name>dtdCache</name> <document-builder-factory> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl </document-builder-factory> <xml-entity-spec-registry-entry> <name>deliveryResponse</name> <public-id>DELIVERY</public-id> <system-id>http://jasemulator:7011/Emulator/dtd/delivery.dtd </system-id> <entity-uri>http://jasemulator:7011/Emulator/dtd/delivery.dtd </entity-uri> <when-to-cache>cache-on-reference</when-to-cache> <cache-timeout-interval>60000</cache-timeout-interval> <handle-entity-invalidation>true</handle-entity-invalidation> </xml-entity-spec-registry-entry> </xml-registry> |
|||||
Example 2. To enable handling cache invalidation for multiple entities (also applicable to the SAX Parser):
<xml-registry>
<name>dtdCache</name> <document-builder-factory> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl</document-builder-factory> <handle-entity-invalidation>true</handle-entity-invalidation> <xml-entity-spec-registry-entry> <name>deliveryResponse</name> <public-id>DELIVERY</public-id> <system-id>http://jasemulator:7011/Emulator/dtd/delivery.dtd </system-id> <entity-uri>http://jasemulator:7011/Emulator/dtd/delivery.dtd </entity-uri> </xml-entity-spec-registry-entry> <xml-entity-spec-registry-entry> <name>purchaseOrder</name> <public-id>PO</public-id> <system-id>http://jasemulator:7001/Emulator/dtd/purchase.dtd </system-id> <entity-uri>http://jasemulator:7001/Emulator/dtd/purchase.dtd </entity-uri> </xml-entity-spec-registry-entry> </xml-registry> |
|||||
wsdlc for JAX-WS does not use external binding customizations for generating a correct service implement template file.
In WLS 10.3, the name of the implement template file has been changed, as well as the
srcServiceName and srcPortName options in the wsdlc task. For details, please see the documentation for the wsdlc Ant task in the WebLogic Web Services Reference.
|
|||||
The XML Schema ‘particle valid restriction' rule is no longer enforced when generating or using XMLBeans classes generated from XML Schema in a WLS Web Service. A number of Web Services interfaces defined by industry-specific organizations (for example, Heath Level Seven at http://www.hl7.org) specify metadata that does not conform to the XML Schema particle valid restriction.
In previous releases of WLS, such schema would fail to compile (for example, during execution of the
wsdlc task or during deployment) with an error such as:
error: rcase-Recurse.2: Invalid Restriction. The following particles of the derived <sequence> cannot be mapped to the base <sequence>'s particles:
In WLS 10.3, this restriction has been relaxed, allowing XMLBeans classes to be fully and correctly generated from such schema.
|
|||||
If you are not using the JDK6/JRockit6 shipped with WLS 10.3, an error may occur while invoking JavaDoc to inspect your source files. This may be due to the fact that
$JAVA_HOME/lib/tools.jar does not seem to be in your system classloader. One common case in which this happens is when using the ant tool, which uses a special context classloader to load classes from tools.jar .
Sun has provided a fix for this at:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=2158389
|
|||||
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/>
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:AsymmetricBinding>
|
|||||
<sp:AsymmetricBinding>
|
|||||
WebLogic Web Services expects that each WebLogic Server domain will contain specific resources needed to support web services. Some domains, however, are not created with these resources.
For example, creating a default WebLogic Server domain in the configuration wizard (without applying any other templates) will not create the needed Web Services resources.
A domain that doesn't contain Web Services resources will still boot and operate correctly for non-webservice scenarios, and any Web Service scenario that doesn't involve asynchronous request/response. You will, however, see INFO messages in the server log indicating that async resources have not been configured and that the async response service for web services has not been completely deployed.
Web Services that use async request/response will not function properly in a domain that doesn't have Web Services resources configured in it. To configure these resources, there are two approaches:
|
|||||
When trying to generate WLS 9.x client artifacts in WLS 10.3, the built-in task
clientgen cannot be used directly.
|
|||||
In prior releases, WSSC+RM interop from WLS to .NET fails during trust handshake because the algorithm suite policy is not used for the WSSC key length. WLS correctly interprets the WS-SecurityPolicy specification with respect to maximum key length for symmetric keys. Some implementations, including Microsoft and possibly others, treat the key length specified as the minimum in the policy's algorithm suite as the 'correct' key length, and will not accept the maximum length, even though it is legal.
In WLS 10.3, client side behavior has been changed to always use the minimum key length specified by the algorithm when deriving keys, even though the maximum key length is legal and more secure. This allows WLS to interop properly with Microsoft. As a result, WLS 10.3 uses shorter (and therefore less secure) key lengths than in previous releases. All derived keys, however, will be at least the minimum key length specified by the policy's algorithm suite.
|
|||||
In WLS 10.0, X509 certification was not used for authentication even if the
UseX509ForIdentity flag was set. This has been corrected in WLS 10.3.
Set
UseX509ForIdentity to false when you create the default x509 handler using a Python script to configure domains, as shown here:
wsm = cmo.lookupWebserviceSecurity
|
|||||
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 ...
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.
|
The database drivers were unable to support any type of encryption for the connections to their respective database servers.
DataDirect now provides SSL support to enable the encryption of JDBC connection attributes. As a result, JDBC connections can now be encrypted. Further information on what is available is outlined herein:
|
|||
See the Reference guide at
http://media.datadirect.com/download/docs/jdbc/alljdbc/wwhelp/wwhimpl/js/html/wwhelp.htm for more information relating encryption changes to the Oracle, SQL Server, and Sybase drivers.
See the Reference Supplement guide at
http://media.datadirect.com/download/docs/jdbc/alljdbc/wwhelp/wwhimpl/js/html/wwhelp.htm for more information relating to the DB2 driver encryption changes.
|
|||
WebLogic Server now packages the standard Ant distribution in
WL_Home/modules/org.apache.ant_1.6.5 . If you use the standard WebLogic Server environment scripts created as a part of the installation, you will not need to make any changes to continue using Ant. If instead you directly reference the Ant jars from the WebLogic Server installation, you will need to modify the classpath to point to the new location of the Ant distribution.
The
lib/ant-all.jar in that directory has a manifest classpath that refers to all of the other JARs in the lib directory. You should use ant-all.jar rather than ant.jar if you want to maintain the previous behavior, where the manifest classpath of ant.jar was modified to include all of the JARs in the lib directory.
|
|||
The MS SQL Server driver reports
conn.prepareStatement(String sql, String[] columnNames) as an unsupported method. This is true for the following methods for Microsoft Server 7 and SQL Server 2000 only:
Connection.prepareStatement(String sql, int[] columnIndexes)
Connection.prepareStatement(String sql, String[] columnNames)
Statement.execute(String sql, int[] columnIndexes)
Statement.execute(String sql, String[] columnNames)
Statement.executeUpdate(String sql, int[] columnIndexes)
Statement.executeUpdate(String sql, String[] columnNames)
These methods will return the value of the identity column. However, the driver can't implement these methods correctly because these DBMSs do not allow you to return the value of an arbitrary column from an insert, update, or delete statement.
Set the
WorkArounds connection option to 1. When Workarounds=1 , calling any of the auto-generated keys methods listed above returns the value of the identity column regardless of the name or index of the column specified to the method. If multiple names or indexes are specified, the driver throws an exception indicating that multiple column names or indexes cannot be specified if connected to Microsoft SQL Server 7 or SQL Server 2000.
|
|||
The manifest classpath for
weblogic.jar no longer contains ant-contrib.jar . As a result, if you use ant-contrib tasks and get an error message such as ”Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found” , this means that ant-contrib.jar is not on the classpath. If you use WebLogic Server’s setWLSEnv scripts, ant-contrib.jar is added to the classpath; however if you are using your own scripts that previously put weblogic.jar on the classpath, you need to update your scripts to put ant-contrib.jar on the classpath.
|
|||
This occurs because the resulting
wlfullclient.jar includes Ant classes that have a version number that is inconsistent with the Ant version you have in your classpath.
|
|||
![]() ![]() ![]() |