Skip navigation.
Downloads | Product Documentation | Support

Release Notes

# Resolved Problems for Service Pack 5

Service Packs are cumulative; Service Pack 5 contains all fixes made in earlier Service Packs released for BEA WebLogic® Server 8.1.

The following sections describe problems that were resolved in BEA WebLogic Server® 8.1 Service Pack 5:

- Administration Console
- Cluster
- Connector
- CORBA
- Core WebLogic Server
- Deployment
- EJB
- Installer
- J2EE
- jCOM
- JDBC
- jDriver
- JMS
- JNDI
- JTA
- JVM
- Node Manager
- Operations, Administration, and Management
- Plug-Ins
- RMI
- Security
- Servlets and JSPs
- SNMP
- Tools
- Utilities
- Web Services
- WebLogic Tuxedo Connector
- XML

## Administration Console

####

Change Request Number | Description
--- | ---
CR081329 | The Refresh button no longer opens the page that was previously opened, but instead refreshes the page that is currently opened.
CR106556 | No exception was being thrown when an existing provider with the same name was replaced. Now, WebLogic Server throws an InstanceAlreadyExistsException if an MBean is already registered with the given name. The error message is displayed in the Administration Console.
CR107353 | The Administration Console only displays the 48 users per authentication provider in a security realm. A filter was provided to narrow the results, but there was no indication that there were more users than what was being displayed. Now, the console indicates to the user that there are more users in the security realm than the console can display.
CR107977 | The Administration Console in Japanese mode now displays the expected content when you select Servers in the left pane and then click Customize this view... in the right pane, regardless of the browser you are using.
CR135899 | If the Administration Server and the Managed Server are running on different multi-byte locales, the Managed Server log can now be viewed correctly in the Administration Console when you select the locale of the Managed Server in the Console Preferences page.
CR174743 | WebLogic Server correctly updates the `config.xml` file when the Administration Console is used to change the load order of Web applications. Previously, the leading "/" character in the application path was incorrectly overwritten.
CR178121 | Correct values of user lockout attributes are now shown in the Administration Console with custom security providers in non-default security realms other than the default security realm.
CR178658 | The Servlet Extension Case Sensitive attribute has been added to server and cluster configurations, and the Web App Files Case Insensitive attribute has been added to the security domain configuration. These attributes specify whether file lookups for Java Server Pages (JSPs) are case sensitive on all platforms except win32; file lookups from standard win32 file systems are always case-insensitive. On case-insensitive file systems other than win32 (such as NT Samba mounts from UNIX or Mac OS that have been installed in case-insensitive mode), specify case-sensitive lookups by setting these attributes to False to prevent the JSP from returning its source code. For example, if a JSP is being served from a Samba mount and you have specified case-insensitive lookups, WebLogic Server converts all file name extensions to lower case before looking up the JSP. Possible values and usage: OS (the default value): WebLogic Server relies on the operating system for pattern matching. True: WebLogic Server enforces case-insensitivity irrespective of the operating system. False: WebLogic Server enforces case-sensitivity irrespective of the operating system.
CR180077 | The custom attribute and the Display Message appear in the Administration Console under the Details tab. Help text for security provider custom attributes is displayed in the description tag of the attribute defined in the descriptor files.
CR183868 | When deleting an application from the server, the message in the Administration Console no longer indicates that the deletion process has been completed. Instead, now the message indicates that the deletion process will be completed.
CR191904 CR215149 | New servers can be added to a cluster without error even if the cluster has an existing list of members that are running.
CR191989 | When you clone a server through the Administration Console, the `LogMBean` and the `ExecuteQueues` are now properly copied.
CR196590 | The Administration Console now shows Redirections as the child of the WTC Service itself instead of as the child of tBridge. Also, the Administration Console no longer allows you to configure identical Redirections (that is, Redirections with the same name) to the same WTC Service.
CR199870 | If an error occurs while you are configuring a new execute thread, the error is now displayed on the current page rather than on the MBean parent's page.
CR199916 CR234184 | The Virtual Machine no longer crashes during redeployment. Synchronization was added to the deployment descriptor editor code so that only a single thread can un-jar the application descriptor.
CR201904 | When you use the Target Each Module button to deploy an EAR file containing one or more Web applications, the deployment no longer fails.
CR202739 | The Apply button is now displayed in the Administration Console for Monitor, Operator, and Deployer IDs and in the Customize Logs page.
CR206190 | The Administration Console threw an error if the Console extension did not contain index.xml and the catalog for the selected language or locale. The Administration Console uses the default catalog if index.xml is not present or if no catalog is defined for the selected language or locale.
CR208509 CR221784 | You can now use the DISCOVERMANAGEDSERVER button, to re-establish administrative control over Managed Servers even after the Administration Server has already started, using the Administration Console.
CR208547 | The inline help text has been updated to show that the custom Hostname Verifier can implement either `weblogic.security.SSL.HostnameVerifier` (deprecated) or `weblogic.security.SSL.HostnameVerifierJSSE`.
CR209781 | The Administration Console left pane (applet) is now working properly with the Microsoft JVM.
CR211026 | When an EJB was deployed on a Managed Server and the in-flight transaction was monitored, the transaction appeared on the Administration Console, but could not be rolled back by using the `Force Local Rollback` and `Force Global Rollback` functions. The `Force Local Rollback` and `Force Global Rollback` now work properly.
CR212870 CR126808 CR215833 | When two applications with one application-scoped datasource per application were deployed on the same server and the datasources had the same name, an `InstanceAlreadyExistsException` was thrown. Code was added to configure the pool name to be application-specific when necessary.
CR214041 | Opening the Global Role editor pop-up in the Administration Console no longer results in an Apache 500 error.
CR215112 CR221786 | The following pages in the Administration Console are now consistent in how they show the current state of Managed Servers: Domain Monitoring Domain Control Servers Table Server Monitoring Server Control
CR215352 | Force Local/Global Commit now works against the transaction running on Managed Servers.
CR216670 | When you exceed your number of authentication attempts, a message is logged throughout the domain saying that you are locked out. Now, the Administration Console also shows the lockout message.
CR216851 | The Define Security Policy and the Define Scoped Role pop-up menu options are no longer available for JMS bridge destinations.
CR217508 | The banner in the Administration Console now shows the user authenticated against WebLogic Server instead of the proxy user ID.
CR217812 | The Administration Console Web Application deployment testing tab can now handle the default `context(/)`. Now, no extra / will be added with the default `context(/)`.
CR222458 | Clicking the Administration Console deploy button restaged Web Applications to targeted servers. The Administration Console no longer restages files that already exist.
CR222872 | The order of filter connection rules displayed in the Administration Console is now the same as the order you entered before you click the Apply button.
CR223073 | If the method signature contained array as parameter, the method name was not passed to the security subsystem while security policies for Web Services were being defined, which resulted in a java script error. Now, the method name is passed to the security subsystem in the correct format when method parameters contain array, and the java script error is no longer thrown.
CR224902 | Now, if a resource is deleted, its associated security policy and scoped roles are also deleted.
CR229823 | When a user with the Deployer role selected the Testing Tab, WebLogic Server threw a `weblogic.management.ManagementRuntimeException`. Thereafter, clicking on any application in the left pane would continue to generate an exception. Now, instead of getting the weblogic.management.ManagementRuntimeException in the right pane, the user gets to see the right pane with the Configuration tab selected.
CR231512 | The Connection Policy screen for the BEA WebLogic Tuxedo ConnectorTM now shows the correct text.
CR231600 | Java script pop-up windows showing cookie information are no longer displayed in any of the following scenarios: 1. Log in to the Administration Console and enter the following URL: `http://localhost:7001/console/actions/mbean/MBeanFramesetAction?sidebarFrameId='%5d%22%3e%3b%3cscript%3ealert%28document%2ecookie%29%3b%3c%2fscript%3e` 2. Open a new browser and type the following URL: `http://localhost:7001/console/actions/common/SidebarAction?%3cscript%3ealert%28document%2ecookie%29%3b%3c%2fscript%3e` 3. Open the Administration Console (`http://localhost:7001/console`), and click the [Sign In] button with a blank password. Then the request is redirected to `http://localhost:7001/console/j_security_check.` Then input the username as follows: `weblogic"><script>alert(document.cookie)</script>` Click the [Sign In] button.
CR237076 | On the Define Security Policy and Policy Condition pages, the Add button is no longer incorrectly displayed as the And button
CR237153 | You can now enable Multicast Data Encryption through the Console to prevent insecure multicast messages in a clustered environment.
CR238256 | The password is no longer incorrectly displayed as clear text in server.log, config.xml, and the Administration Console.
CR239846 | Combo patch request of CR236810 and CR202495.

## Cluster

####

Change Request Number | Description
--- | ---
CR219614 | When a Managed Server made an initial connection to the Administration Server using the Administration port, all subsequent connections from that Managed Server were also made using the Administration port. By default, connections are made to the default listen port. However, if a user has Administrator privileges, subsequent connections will be made using the Administration port.
CR223302 | In a cluster that has the domain-wide local administration port enabled, migrating the JMS server no longer fails with a `NameNotFoundException` when WebLogic Server tries to look up an internal service called `weblogic.cluster.migrationControl`.

## Connector

####

Change Request Number | Description
--- | ---
CR210249 | When <security-permission> is specified in the `ra.xml` file, the connector module now deploys with no problems.
CR211694 | The WebLogic JCA handle no longer causes a memory leak. Connection handle instances are tracked through an objectID hashmap and are now cleaned up when the connection handle is closed.
CR231963 | There is no longer a memory issue during resolution of resource references in a connector module.

## CORBA

####

Change Request Number | Description
--- | ---
CR201403 CR213972 CR203077 | Previously when the client sent the close message, the server side did not close the socket because it expected more input from the client. The socket never got closed, which eventually caused connection leakage. Now, when the client receives a close connection message the socket is closed to prevent connection leakage.
CR206054 | WebLogic ORB displayed a `NullPointerException` and threw a `CORBA.UNKNOWN` error instead of returning false for the `_is_a(String)` CORBA call when the string that was passed in did not match the calling CORBA object. Code was added to check whether the method, which is used to find the object identified by the repository identifier, returns null or not.
CR220716 | The maximum number of file descriptors (fds) that can be specified for the ioctl call without causing an exception is one fewer than the operating system limit for the number of fds. This restriction is new in Solaris 10. To avoid getting an illegal argument exception when starting the server, the maximum number of fds is now set to one fewer than the operating system limit.
CR224353 | A CORBA object registered with WebLogic ORB could be reached over a non-SSL port, but not over an SSL port. When the non-SSL port was disabled, an incorrect value of -1 was assigned in the IOR. The correct value of 0 is now assigned.

## Core WebLogic Server

####

Change Request Number | Description
--- | ---
CR108791 | When the server state was SHUTDOWN_IN_PROCESS and Runtime.getState was called, WebLogic Server returned the wrong string. Now, WebLogic Server returns the correct string, which depicts the state of the server. If your applications were dependent on the wrong string constant that was being returned, you may need to change the string constant.
CR128813 | It is now possible to create a network channel for the "admin" protocol that specifies an interface (that is, ListenAddress) that is different from the default network channel.
CR177987 CR236405 | The following was an error in poll with `SocketException` that occurred with performance pack enabled: `java.net.SocketException: Error in poll for fd=32, revents=8` This problem was fixed in PerformancePack for `HPUX_IPF`.
CR179278 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/141
CR182555 | When JMS was migrated from server1 to server2, `WLIAdminMDB`, the Message-Driven Bean responsible for garbage collection in the WebLogic Integration Document Store, threw a `NameNotFoundException,` which caused WLI Document Store clean-up functionality to fail after migration. Now, Message-Driven Beans are the last components to migrate. As a result, `WLIAdminMDB` no longer throws a `NameNotFoundException` when JMS is migrated from one server to another.
CR196369 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/138
CR198659 CR208418 CR222680 | A corruption in the `TimeEventGenerator` data structures caused the timer thread to spin in an infinite loop due to `NullPointerExceptions`. The server had to be restarted to overcome this problem. This has now been addressed.
CR201647 CR225246 | WebLogic Server threw `UnmarshalException` with nested `OptionalDataException` after EJB tier was restarted, due to synchronization issues with the `BasicReplicaList` class. This problem has now been fixed.
> CR202167 | When beasvc on Win2003 starts a server off a network share, an error no longer occurs. Now network drive mapping happens within the service itself. The following new parameters were added to the beasvc: localname remotename remoteuser remotepassword Example usage:
>     -localname:"X:" -remotename:"\\172.17.24.130\src810sp4" -remoteuser:"xyz" -remotepassword:"xyz"
You are mapping \\172.17.24.130\src810sp4 to your local machine as X: and the remoteuser, and remotepassword are used to connect to the remote machine.
CR202932 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/153
CR203320 CR220927 | A deadlock no longer occurs between Multicast send and receive calls.
CR203523 CR228079 | The following log message has been reinstated to appear as it had in previous WebLogic Server releases. `<Warning> <WebLogicServer> <000333> <Queue usage is greater than QueueLengthThresholdPercent "3%" of the maximum queue size. We'll try to allocate ThreadsIncrease "5" thread(s) to help.>`
CR208567 | A Managed Server referenced a listener thread that listened for the commands or responses sent by the Managed Server. When a Node Manager had gone down, the Managed Server tried to re-initiate the connection to the Node Manager. After re-establishing the connection, the Managed Server created the new listener thread and started it, but did not change the reference to the listener. It still pointed to the old listener. Now, the Managed Server sets the reference to a listener properly after re-establishing a connection to the Node Manager.
CR209153 | When remote-client-timeout in EJB descriptors was set to a value equal to or greater than 33 seconds, the runtime descriptor did not generate properly. Instead, remote-client-timeout was ignored. Now, a value greater than 32 seconds can be specified for the remote-client-timeout setting in the EJB descriptors.
CR209595 CR234506 | The constant pool index overshot the `Byte.MAX_VALUE (2^7 - 1)` in the bytecode generation code, which caused EJB deployment to fail with a `java.lang.VerifyError` stating the underlying cause as Illegal type in constant pool. To fix the problem with the bytecode generation, the index to `Short.MAX_VALUE (2^15 - 1)` has been extended.
CR210128 CR210838 CR214575 | The socket layer no longer throws a `NullPointerException` when an RMI layer throws a `QueueFullException`.
CR210920 CR233948 | A prepared statement that was cached with a pooled connection, which failed with an exception, is now completely removed from the cache, and no longer results in a memory leak.
CR211299 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/156
CR212744 CR221785 | The `SSLIOContextTable.registerForThrottling()` gets the reference to the ServerThrottle instance inside a synchronized region. If the ServerThrottle had not been instantiated, the constructor was called, which sometimes resulted in deadlock because the ServerThrottle was instantiated holding the `SSOLIOContextTable.class` lock. To avoid the deadlock, WebLogic Server now gets the reference to the ServerThrottle instance before obtaining the `SSOLIOContextTable.class` lock.
CR213915 | When the remote server to which the stub is connected is restarted, the stub now fails over to the other servers in the cluster.
CR215524 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/157
CR217262 | If `QueueLength` reached maximum, it resulted in a `FullQueueException`, which in turn resulted in server shutdown. To fix this, WebLogic Server now handles the `FullQueueException` and also closes the socket for SSL before the handshake so that the clients get disconnected properly.
CR217423 CR241142 | WebLogic Server can now accept `POST/GET` requests from a client after the `KeepAlive` connection is timed out on Linux.
CR217854 CR221776 | When WebLogic Server threw a SecurityException, as a result of a remote call made to the Administration port by an anonymous user, it failed to return the transaction context with the response. As a result, the client was unable to decrement the request count resulting in a `CommitException`. Now, when WebLogic Server throws a SecurityException, it also sends the transaction context.
CR220409 | Combo patch request of CR217423 and CR201403.
CR222932 | When standalone JMS consumers listening on queues in WebLogic Server were created and the client was killed abruptly, consumers on the server side were still alive. Restarting the client created additional consumers with the same stub and then, if a peerGone exception was thrown, only one listener received the message. One stub can now have two listeners, which resolves the problem.
CR224570 | A synchronization problem caused two different requests to be assigned the same request ID. This caused one of the requests to hang. Now a unique ID is assigned to each request.
CR229267 | The forced undeployment of applications after graceful shutdown of WebLogic Server timeout sometimes lead to `ConcurrentModificationException`. WebLogic Server no longer throws this exception while undeploying applications.
CR232983 | WebLogic Server no longer throws a peerGone exception when the ConnectionManager was waiting to acquire a lock to send heartbeats. This problem has been fixed.
CR236961 | WebLogic Server now propagates non-public interfaces.
CR239324 | If a socket was unregistered and then registered, and if between the two calls the timeout timer never ran, the data structures were getting out of sync, which prevented the newly registered socket from ever timing out. The new register for the socket is no longer ignored by a previous unregister.

## Deployment

####

Change Request Number | Description
--- | ---
CR190015 CR220929 | When tasks were purged from the Administration Console, a `weblogic.utils.AssertionError` was thrown. Now, while completed tasks inside the deployment code are deleted, additional checks in the deployment code determine whether the MBean is still registered with the MBean Server or whether it has already been unregistered.
CR220155 | In clustered deployments with `enforceClusterConstraints` set, the application deployment fails if one or more servers in the cluster is not up. Changes were made so that when these servers come up later, they continue using the application bits available with them and do not deploy the new application bits. Now, the same application version runs on all the servers of the cluster even after deployment failure.
CR220398 | A `SocketException` is no longer thrown when you deploy a large application (over 100M).
CR236855 | When deployments are pinned to clusters, the ApplicationLifeCycle listener is no longer invoked on non-targeted servers of the cluster.

## EJB

####

Change Request Number | Description
--- | ---
CR112185 | Now, ejbc logs a warning message if there is a mismatch in the jndiName(s) and type of view(s) defined by an EJB. For example, if the bean, TraderBean, defines a local view and has no `local-jndi-name` defined in the `weblogic-ejb-jar.xml` file, ejbc reports the following warning: `The ejb 'TraderBean' has a Local View. However, the &lt;local-jndi-name&gt; is not set`.
CR125400 CR132496 | A startup class that calls one EJB business method on `doSomethingOnA` of BeanA. This method gets the home interface for BeanB and this leads to the following ClassCastException: `<29 janv. 03 13:21:19 CET> <Info> <EJB> <010051> <EJB Exception during invocation from home: test_ccex.a.BeanABean_124zg1_HomeImpl@5c5ca2 threw exception: java.lang.ClassCastException: Cannot narrow remote object to test_ccex.b.BeanBHome java.lang.ClassCastException: Cannot narrow remote object to est_ccex.b.BeanBHo me at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(Por tableRemoteObjectDelegateImpl.java:223) at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObjec t.java:132) at test_ccex.a.BeanABean.doSomethingOnA(BeanABean.java:49) at test_ccex.a.BeanABean_124zg1_EOImpl.doSomethingOnA(BeanAB ean_124zg1_EOImpl.java:46) at java.lang.reflect.Method.invoke(Native Method) at com.csg.am.dcf.weblogic.startup.BeanExecutor.startup(Bean Executor.java:183) at weblogic.t3.srvr.StartupClassRunner.invokeStartup(Startup ClassRunner.java:141) at weblogic.t3.srvr.StartupClassRunner.invokeClass(StartupCl assRunner.java:122) at weblogic.t3.srvr.StartupClassRunner.access$0(StartupClass Runner.java:113) at weblogic.t3.srvr.StartupClassRunner$1.run(StartupClassRun ner.java:86) at weblogic.security.service.SecurityServiceManager.runAs(Se curityServiceManager.java:744) at weblogic.t3.srvr.StartupClassRunner.run(StartupClassRunne r.java:71) at java.lang.Thread.run(Thread.java:479)` A code fix resolved a classloading issue in `RemoteObjectReplacer`.
CR126351 CR132693 CR133769 | The appc generated compiler errors if the value of the <table-name> element in the weblogic-cmp-rdbms-jar.xml DD contained special characters such as '.' and '`@`'. The DB2 database now allows table names that include these special characters. Illegal Java characters are now replaced by '_' in the generated code. This change is also applicable to CMP beans that are mapped to multiple tables.
CR132510 | When enabling the relationship caching on an entity bean that is using optimistic concurrency with `cache-between-transaction` set to true, WebLogic Server no longer throws an `IllegalStateException`.
CR133421 | In a domain with a JMS Server that has no targets, a Message-Driven EJB deployment with distributed destination or migratable destination no longer fails with an ArrayIndexOutOfBoundsException.
CR174593 CR198357 | WebLogic Server used to throw a ConcurrentModificationException when: the finder of an entity bean was invoked in the ejbStore method new entity beans were enrolled in the transaction in the ejbStore method modifying entity beans of the same type in the ejbStore method This exception is no longer thrown.
CR182398 | EJBC no longer fails if a CMP Entity Bean has a CMP field named oldState.
CR186266 | Setting the Extra EJB Compiler Options to the value `-J-mx512M` in the Administration Console and then deploying an EAR file no longer causes deployment failure and the following exception: `Compiler failed executable.exec` Additionally, EJB compilation is now a forked process if there are any extra ejbc options or if any compiler other than the default is specified. WebLogic Server now supports Java heap size options in the following formats as part of the extra ejbc options: `-J-mx128m -J-Xmx128m`
CR186762 | Now, even when a transaction only modifies blob or clob fields in a bean, the version or timestamp column in a table is updated.
CR194306 CR211196 | Using "select for updates" with optimistic concurrency EJBs led to performance issues. The "select for updates" operation is no longer used for optimistic concurrency EJBs that use Oracle drivers that implement the proprietary sendBatch() API. As a result, for optimistic failures, it is no longer possible to report errors at the pk level.
CR197625 | When a remove call for a CMP bean failed because of a database constraint violation, WebLogic Server failed to destroy the bean at commit time. This caused the bean to be reused without being initialized, resulting in `NoSuchObjectException` when the bean was subsequently accessed. The bean is now destroyed in the cache.
CR200204 | Now, when an EJB that has both local and remote interfaces is deployed and being accessed from a Web client deployed in the same application (EAR), a `ClassCastException` is no longer thrown while create is being called on LocalHome.
CR202817 CR237811 | In a cluster, when a child bean is added to the parent bean on one server; the beans use the Optimistic Concurrency strategy; and cache-between-transactions is set to true, the CMP/CMR field no longer returns a stale set of child beans.
CR203644 | Replicated Stateful Session Beans in a cluster with InMemory replicated session no longer throw a `NoSuchObjectException` or a `LeasedRemoteRef` error after instances are passivated or after the cluster instance is shut down.
CR205974 | When a collection valued CMR field is accessed in a transaction other than the one in which it is created, WebLogic Server no longer throws an `IllegalStateException`. As a result, WebLogic Server delivers the correct result set from the finder query regardless of whether caching is turned on or off.
CR206209 | BEA implemented optimizations for immutable fields of CMP EJBs such that the setXXX() method does not write the values of unchanged primitive and immutable fields to the database. This optimization improves performance, especially in applications with a high volume of database updates. BigInteger and BigDecimal, which are immutable classes, were excluded from this optimization and have now been included.
CR208540 | WebLogic Server no longer queries against the database for findByPK calls after a bean is reloaded, but instead retrieves the information from the cache.
CR209678 | When the ejbCreate() method was declared as final, ejbc correctly flagged an error, but the error message content was incorrect. The error message was corrected as follows: `the ejbCreate method(s) must not be declared as final`
CR209908 CR210116 | When an ejbSelect query returned a ResultSet (WebLogic Server-specific), the JDBC objects were not released after the query was done, which resulted in a connection leak. JDBC objects are now released in the finally block of the method. As a result, there is no longer a JDBC connection leak.
CR209987 CR210650 CR229780 | Assuming n as the max cache size specified in the deployment descriptor, when trying to execute an EJB finder call returning more than n records, WebLogic Server throws a `CacheFulException`. This is expected because the Entity EJB cache size is set to n. However, subsequent finder calls on the same EJB that returns a single record failed with the `CacheFulException` because the cache size had already been incremented, and it was not decremented when the `CacheFulException` occurred. Now, subsequent finder calls on the same EJB no longer fail with this exception because the cache size is decremented whenever the `CacheFulException` occurs.
CR210673 | If the data type of a cmp field was `byte[]`, `ejbSelect`s returning collection types using that field were not generated properly. For example, for an `ejbSelect` defined as: SELECT o.identifier from TestByteArray as o where the cmp-field "identifier" maps to `byte[]` in the bean class, ejbc created an unknown return data type in the generated class and compilation failed: ( `[B __WL_retVal = null;` ) Now, the java source type is generated correctly: `byte[] __WL_retVal = null`;
CR210675 | When a CMP field was defined as type `&quot;SybaseBinary&quot` in the deployment descriptor, ejbc generated classes were still using `setBinaryStream()` instead of `setBytes()` in case of finders. Now, the RDBMS generated code always uses `setBytes()` rather than `setBinaryStream()` for finder queries if the query parameter is of type `byte[]` and the CMP bean contains at least one CMP field that defines dbms-column-type as SybaseBinary.
CR210903 CR224454 | WebLogic Server no longer throws a `ClassCastException`, as it does not try to cast a BMP bean into a CMPBean in the afterCompletion callback.
CR212483 | When a finder was executed within the ejbRemove() body with include-updates set to true, the bean on which ejbRemove was called was deleted before the ejbRemove call was completed in the flushModifiedBeans operation. This happened when order-database-operations was set to true. The bean is now deleted after the ejbRemove call is completed.
CR215848 | Serializing access to create the execute queue and then start threads for that queue, ensures that when Message Driven Beans are deployed and WebLogic Server uses asynchronous polling, a thread - `'&quot;weblogic.ejb20.internal.JMSMessagePoller&quot;'` is created for every Message Driven Bean deployed. Based on the load, child pollers are created to handle the load as and when required. Synchronization changes have been implemented to ensure that a race condition does not occur when Message Driven Beans fail to connect at deployment time. Note that while this problem has been resolved, performance might be affected slightly.
CR217172 | In the same transaction, accessing a ReadOnly bean with include-updates set to False caused pending changes to be flushed to the database when the finder parameters were of type primitive array such as byte[]. This situation degraded performance, caused a lock on the database side, and caused all other transactions to be held up until the transaction performed a commit or rollback. Now, include-updates set to False for any finder query work correctly for any type of method parameters, and changes that should not be flushed to the database are no longer flushed.
CR217188 | BEA-012034 was added to the list of warnings that can be disabled with the `<disable-warnings>` element.
CR217605 | If an EJB has a run-as security role configured, WebLogic Server no longer uses different security principals while executing different methods on the EJB class. WebLogic Server now sets the correct run-as principal for all the EJB methods.
CR217859 | The correct transaction timeout value is now used when a transaction is created in `JMSMessagePoller/ContinuousJMSMessagePoller`.
CR219935 | When security providers are implemented with EJBs, local stack corruption, which resulted in a stateless session bean leak, no longer occurs. WebLogic Server maintains the stack order correctly.
CR220559 CR235671 | When the commit setting for the delay-database-insert-until flag in WebLogic Server 7.0 style descriptors is used, the WebLogic container now correctly enables both batch operations and order database operations.
CR220607 | The bean on which the `ejbRemove()` method is called is now available within the scope of its own `ejbRemove()` method when order-database-operations is set to True.
CR220665 | Even if the CMP field was byte array, it was reserialized again to byte array while being put into the database, which resulted in corruption of blob data. Now, WebLogic Server no longer reserializes a byte array to get another byte array unless `serialize-byte-array-to-oracle-blob` is explicitly set to True. As a result of this fix, blob data is no longer corrupted.
CR222244 | In WebLogic Server 8.1 Service Pack 3, CR128063 was fixed as follows: When an MDB suspended a transaction, if the transaction was later resumed, it was committed or rolled back using a different thread. This caused problems for some XA implementations. The MDB container now ensures that the transaction is started and committed using the same thread. In WebLogic Server 8.1 Service Pack 5, CR184585 was fixed as follows: Added support for `XAResource` implementations that possess thread affinity behaviors. As a result of the fix for CR184585, the fix for CR128063 was reverted in WebLogic Server 8.1 Service Pack 5.
CR223475 | The Inter-domain trust is no longer needed for a Message-Driven Bean with the `&quot;NotSupported&quot;` transaction attribute. Also the Credential Mapper needs to be configured to map the remote credentials to run-as-user in a Message-Driven Bean domain. In addition, JMS now uses consumer credentials when pushing exceptions to the consumer.
CR227533 CR217872 CR239336 | Stateless beans now reflect the correct EJBTransactionRuntime attributes.
CR228320 | Object array type parameters used in Finder methods are no longer ignored; they are now parsed by WebLogic Server.
CR228579 CR234062 | The entity beans that return true for an `isIdentical()` call now also return true for an `equals()` call.
CR230446 | The CMP EJB beans marked as "isRemoved" are no longer returned as the result of an internal (relationships)/external(user defined) finder call.
CR232022 | A Message-Driven Bean could not connect to a Foreign JMS Server that had security enabled. An MDB can now connect to a Foreign JMS Server when the Credential Mapper or Foreign JMS wrapper is configured properly.
CR235103 | During JMS migration, a `NullPointerException` is no longer thrown during migration of an undeployed MDB.
CR235944 | While doing a compliance check, the `EJBObjectComplianceChecker` no longer ignores a few business methods.
CR237440 | Using MetaData for to validate DB schema no longer leads to a mismatch between column names and corresponding column types.
CR240444 | Combo patch request of CR188814 & CR209908.

## Installer

####

Change Request Number | Description
--- | ---
CR195440 | Node Manager installed as an NT service with the JVM set to JRockit no longer has a problem starting the service.

## J2EE

####

Change Request Number | Description
--- | ---
CR178426 CR211255 | The servlet `destroy()` method is now called during the deactivate phase of two-phase undeployment. As a result, Web Application sessions are removed in the deactivate phase instead of in the rollback phase. This behavior is modified so that the servlets can access the EJB or app-scoped JDBC pools from the servlet `destroy()` method.
CR222757 | Compilation errors in a JSP Web application caused `appc` to stop compiling the JSP. A new option, "-k", has been introduced in `appc` to continue JSP compilation even after a compilation error. For `wlappc` tasks, a new attribute "continueCompilation" has been added.

## jCOM

####

Change Request Number | Description
--- | ---
CR208772 | The J-Integra version bundled with WebLogic Server 8.1 is upgraded to J-Integra 2.3.

## JDBC

####

Change Request Number | Description
--- | ---
CR087241 CR216714 | A JDBC application using XA calls and any Oracle driver was getting an `ORA ORA-01002: fetch out of sequence` error while fetching rows if a transaction was suspended and resumed. The `AddOracleFlagToXAResource` flag has been added to fix this problem when the XA calls use the Oracle 10g thin driver. To avoid getting the `ORA ORA-01002: fetch out of sequence` error while using XA calls, you must use the Oracle 10g thin driver and turn on the `JDBCConnectionPool` flag.
CR136497 | Calling the JTS connection `getWarnings()` method after a transaction is finished no longer results in a transaction over exception.
CR136713 | The Administration Console now properly displays leaked connections for the JDBC connection pool.
CR136713 CR226682 | Leaked connections for a JDBC connection pool are now properly displayed in the Administration Console when you click "View Leaked Connections.." in the pop-up menu for the JDBC connection pool.
CR17325 | The Oracle thin driver only allows its property, `SetBigStringTryClob`, to be set through a non-JDBC-standard DataSource method. Because WebLogic Server only uses standard methods to set properties, `SetBigStringTryClob` was not sent successfully from the pool to the Oracle 10g driver. Now, WebLogic Server determines whether the DataSource is an Oracle thin XA DataSource, and calls the nonstandard method to set the pool's driver properties. Thus, if the pool includes `SetBigStringTryClob=true`, this property, and any other Oracle-specific properties that need to be set that way, will be set.
CR189649 | When the Sybase database is used with Container Managed Beans and the Sybase driver, and when both the method that contains transaction as Required and the method that contains transaction as NotSupported are called up in sequence from the client side, the following exception no longer appears in the JDBC Log file of the server: `com.sybase.jdbc2.jdbc.SybSQLException: SET CHAINED command not allowed within multi-statement transaction.`
CR189956 | Using `ADMIN_JNDI_NAME` with JDBCTxDataSource (using a JTS Driver) when performing a lookup on the Administration Server resulted in a `javax.ejb.TransactionRolledbackLocalException` being thrown if the Administration Server was down. Now, for a JTS Driver, WebLogic Server does a `LOCAL_JNDI_NAME` lookup first and then does the `ADMIN_LOOKUP` only if datasource is not available locally. As a result, no exception is thrown if the lookup is made by calls within the Managed Server for JDBCTxDataSource.
CR195721 | Previously, you could not use a semicolon as part of the JNDI DataSource name because the semicolon is the default character used to bind multiple JNDI names. The semicolon is still the default character that binds multiple JNDI names. However, now you can use the JNDINameSeparator flag to define the character that binds JNDI names for JDBCDataSource and JDBCTxDataSource. If you choose a character other than a semicolon, you can then use the semicolon as part of the JNDI DataSource name.
CR197163 CR215627 | The JDBC connection pool's testing of connections was consuming a lot of database resources because each test was creating a new plain statement which requires the DBMS to parse and plan the test SQL every time. Now, pools will reuse a single prepared statement for a connection's test which results in improved performance. However, if any application DBMS tables or procedures are referred to in the test SQL and if they structurally change at runtime, such as an index being added, this may invalidate the test PreparedStatement's query plan. As a result, the subsequent test will fail and the connection and test statement will be replaced. The test SQL suggested by the Administration Console will typically not include any structurally changing table, so the problem of needlessly recycling a connection is now minimized.
CR199344 CR220931 | When an anonymous user attempts to retrieve DataSource MBean, WebLogic Server no longer throws the following error message: `java.lang.SecurityException: User <anonymous> does not have access to the administrator port`
CR199447 | Now, when an `XAER_RMERR` exception is thrown, the JDBC Connection is returned to the pool.
CR202067 | If `CountOfRefreshFailuresTillDisable` is set for the pool, it will disable itself if it cannot make new connections. Now the pool will correctly, periodically try to reconnect and will re-enable itself when it is able to reconnect.
CR203460 | When XAConnectionFactory established a pool connection, it ignored the value of the seconds-to-trust property and instead used the default value. This problem has been resolved.
CR205140 | In WebLogic Server versions prior to 8.1, all pool self-tests were suspended when the pool was suspended. WebLogic Server 9.0 reinstates this functionality.
CR205179CR205771 | JDBC DataSource now recognizes the Oracle RAC xid propagation delay and, during an RAC failure, reissues commit and rollback after the first commit and rollback fails.
CR205768 | Oracle RAC exhibited a delay when replicating the state of pending (prepared) Xids from one RAC instance to another. This delay caused mixed transaction outcomes when the WebLogic Server Transaction Manager attempted to resolve global transactions that contained RAC participants. Enhancements to the WebLogic Server Transaction Manager recovery service have resolved this problem.
CR206759 | WebLogic Server now uses `ShrinkFrequencySeconds` instead of `shrinkPeriod` when setting attributes on `JDBCConnectionPoolMBean` through an Ant task. As a result, JDBC `shrinkPeriodMins` now sets Shrink Frequency in the Administration Console.
CR207293 | When a WebLogic Server 8.1 instance performs a remote RMI JDBC connection to a WebLogic Server 6.1 instance, the connection no longer closes prematurely.
CR208550 | The wlconfig Ant Task in WebLogic Server 8.1 Service Pack 2 and earlier produces an error message if a database connection pool is not configured properly. However, WebLogic Server 8.1 Service Packs 3 and 4 do not show an error if a database connection pool is not configured properly. The error message is displayed properly in WebLogic Server 8.1 Service Pack 5.
CR208691 CR212597 | The monitoring page for the JDBC pool in the Administration Console no longer indicates the presence of waiters when none exist.
CR209007 | The method ResultSet.wasNull() now returns the correct information when the Weblogic Datasource is used.
CR210219 | When WebLogic Server JDBC pools run their periodic test of idle connections, they reserve, test, and release one connection at a time. Temporary outages (ResourceExceptions) no longer occur when a new user load comes in.
CR210818 | Pool resources are no longer reclaimed during shutdown. During WebLogic Server shutdown, WebLogic Server no longer makes `getConnection` calls while connections are being destroyed.
CR210859 | `Statement.getUpdateCount` no longer returns -1 when a Sybase type 4 driver is used in a WebLogic Server pool.
CR211464 | When `InactiveConnectionTimeout` is configured to an amount of time, truly inactive connections are now returned to the connection pool, and connections waiting for DBMS response are not returned.
CR211662 | WebLogic Server provides the interface for Oracle thin driver Clobs and Blobs to give you access to certain Oracle-specific methods. This interface is no longer missing the `trim()` method and the `truncate()` method.
CR211812 | The transaction coordinator was racing with the application to close or cancel a statement, which resulted in a `java.lang.NullPointerException`. To avoid this race condition, WebLogic Server now ensures that the connection is viable before calling the underlying code. As a result, a `java.lang.NullPointerException` is no longer thrown when a statement is closed or cancelled.
CR212051 CR221756 | The `getAutoCommit()` method always returned False, whether the connection was inside or outside a distributed transaction. Now, `getAutoCommit()` returns True when the `XAConnection` object is outside a distributed transaction. Pooled connections present as the JDBC 3.0 specification mandates: autoCommit(true) outside a global transaction. If you are using a Sybase driver, you must download and install the Sybase driver version that is later than the version shipped with WebLogic Server 8.1 Service Pack 4.
CR212779 CR205768 | The JDBC configuration attributes, `XARetryDurationSeconds` and `XARetryIntervalSeconds`, were added to the `JDBCConnectionPoolMBean`. These attributes were also added to the Administration Console so that you can set them without manually editing the `config.xml` file.
CR213774 CR230719 | `WLCachedRowSet` now returns the time portion (hour, minute, and second) from an Oracle database date column.
CR214267 | JTA JDBC connections now keep track of statements so they can be cancelled at transaction timeout.
CR215076 CR222549 | Now, even if CountOfRefreshFailuresTillDisable is greater than 1, the pool will disable itself after that many consecutive failures to refresh, as documented.
CR216078 | Combo patch request of CR212674, CR186754, CR188329, and CR172353.
CR219411 | Connection pool refresh is supposed to test all unused connections. It was testing one idle connection n number of times. Now it properly tests n number of idle connections one time each.
CR219822 CR212898 | In the Examples domain that shipped with WebLogic Platform 8.1 Service Pack 3, if the thread ID that was logged as part of the statement profiling contained XML reserved characters, many XML errors occurred when `getStatementProfiles()` was called on the `JDBCConnectionPoolRuntime` MBean. WebLogic Server now ensures that the pool profiling information no longer contains any XML reserved characters.
CR221966 | WebLogic Server no longer makes more than the necessary number of transaction rollbacks in the Oracle database.
CR222454 | The `weblogic.jdbc.wrapper.XAConnection.resetTransactionIsolation()` method no longer leaks transactions.
CR225187 | The driver type was incorrect for the SQL/MX driver in the `jdbcdrivers.xml` file. The driver entry for the SQL/MX driver was removed from the `jdbcdrivers.xml` file. As a result, you now must manually enter all driver and property information while defining a pool to use the SQL/MX driver.
CR227920 | In some cases, redeploying an application on a Managed Server from the Administration Console, after having restarted the Administration Server, threw a `java.rmi.ConnectException`. WebLogic Server no longer throws this exception.
CR228597 | Now, `CallableStatement` contains the same processing that `PreparedStatement` contains. When you use `CallableStatement`, WebLogic Server supplies proxy processors for certain non-serializable arguments to JDBC calls such as Input streams. As a result, using `CallableStatement` to call a stored procedure in the 10g database to insert a CLOB field no longer results in a `java.rmi.MarshalException`.
CR229318 | While processing JMS messages, if the transaction times out, the database rows are no longer locked.
CR229477 | If you reset the connection pool with `TestFrequencySeconds` using the Administration Console, WebLogic Server no longer throws the following exception: `java.sql.SQLException: Statement is closed`
CR233641 | The ResultSetRowCache class does not obtain the complete time stamp from the DATE column of an Oracle database. To resolve the problem, contact BEA Customer Support for the latest patch.
CR233921 | When closing an RMI JDBC statement, Weblogic Server no longer fails to close the result sets.
CR236171 | Differences between the WebLogic Server 7.0 and 8.1 releases in the implementation of the `JDBCConnectionPoolRuntimeMBean` no longer result in migration problems.
CR236988 | Lack of synchronization caused the JTAConnection object to throw a `NullPointerException`. This problem has been fixed.
CR243411 | A JDBC NullPointerException was thrown during a MultiPool failover using Oracle 10g RAC. This problem has been resolved. Contact BEA Customer Support for the patch.

## jDriver

####

Change Request Number | Description
--- | ---
CR197516 | The ExecuteBatch method in the Statement class no longer always returns an array of 0 length when used in the jDriver for Oracle.
CR228794 | Increasing the statement's fetch size after using it no longer causes native memory problems that can cause the JVM to crash.

## JMS

####

Change Request Number | Description
--- | ---
CR177558 | A server-side memory leak no longer occurs with NO_ACKNOWLEDGE delivery mode.
CR187610 | JMS Bridge was not using the Messaging Bridge Thread Pool for bridge dispatch requests. Now, JMS Bridge uses the Messaging Bridge Thread Pool if one has been configured. If there are not enough available threads configured in the Messaging Bridge Thread Pool, the bridge uses the default execute thread pool. Bridge also logs a warning message if the configured Messaging Bridge Thread Pool size is insufficient and then attempts to obtain a thread from the default execute pool instead.
> CR190098 | Now, `session.recover()` can be called for single instance non-transacted topic Message-Driven Beans. As a result, messages get re-delivered when they use JMSTopic with a Message-Driven Bean listening on it. WebLogic Server does not allow `session.recover()` on multi-instance non-transacted topic Message-Driven Beans. If you want to use non-transacted topic Message-Driven Beans and would like to have `session.recover()` called on `onMessage()` you must use a single instance of the topic Message-Driven Bean as in the below example code:
>     <pool>
>     <max-beans-in-free-pool>1</max-beans-in-free-pool>
>     <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
>     </pool>
If you need multi-instance topic Message-Driven Beans for performance reasons and also need recovery you should use transacted Message-Driven Beans. Non-transactional single instance topic Message-Driven Beans that throw an exception in `onMessage()` get a re-delivery on the message.
CR200474 | Java level deadlock no longer occurs with topic subscribers using multicast on subscriber `JMSConsumer.close()`.
CR200503 CR210126 | WebLogic Server incorrectly reported a thread as a stuck thread when that thread was being used by JMS to deliver multiple messages when no new requests were on the ExecuteQueue. WebLogic Server now checks for this condition so as not to report a false positive.
CR202306 | You can now use the Administration Console to clear the multicast address field of a JMS Topic.
CR202905 CR206889 CR230513 | Setting the local JNDI name on a newly-created Foreign JMS Connection Factory using the WebLogic Server Scripting Tool (WLST) no longer results in any `NullPointerExceptions`.
CR203841 CR221782 | WebLogic Server no longer throws the informational exception when JMS is unable to find a distributed destination member in the JNDI table.
CR204981 | To prevent forwarding of messages with null message bodies, JMS has been modified to ensure that it pages in any necessary message bodies before forwarding the messages to distributed topic members
CR206346 | JMS was load balancing twice in an attempt to locate a member that met the message criteria when the following circumstances were all true: 1. the sender was created on a null destination, and 2. the message delivery mode required persistence, and 3. the first load balance attempt (made to resolve null destination) did not locate a member with a persistent store configured. Double load balancing attempts no longer occur in the preceding circumstances.
CR206820 CR221783 | Producers now load-balance correctly to distributed queues without encountering security exceptions on some members when a domain wide administration port has been enabled.
CR209263 | MQSeries ran out of channels because WebLogic Server had too many sessions open. Now, WebLogic Server closes both sessions and XAsessions, which allows MQSeries to close associated channels and prevents MQSeries from running out of channels.
CR210888 | Redelivery delay no longer causes an unexpected stall in message delivery.
CR211569 | WebLogic Server no longer throws an IllegalStateException when committing a transacted JMS session when using a JMS Wrapper in a Servlet.
CR214523 CR235097 | To avoid hanging threads, a `connection.stop()` method now allows the WebLogic Messaging Bridge source queue to drain whatever is in the pipeline before stopping the connection.
CR215637 | JMS no longer throws an unexpected exception when attempting to delete a duplicate durable subscriber on JMSServer boot.
CR215767 | The following configurable WebLogic Server command line system property was added to override the current default Max Session Pool setting: `-Dweblogic.deployment.jms.MaxSessionPoolSize=10000`
CR216063 CR234758 | `MessagingBridgeRuntime mbean getState()` is now properly refreshing state information.
CR216945 | The WebLogic Messaging Bridge failed to create source consumers and message listeners as a result of a JMSSecurityException that occurred when the JMS source destination had a security role defined that prevented user=anonymous from receiving on the source destination. The WebLogic Messaging Bridge was modified to create a consumer using JNDI initial context credentials for the source destination.
CR217908 | `JMSConnectionRuntimeMBean.getHostAddress()` now returns the proper IP address of the client JVM in the proper format.
CR219243 | When attempting to create `JMSQueue`, `JMSTopic`, or `JMSDistributedQueue`, or`JMSDistributedDestination` with an existing name using weblogic.Admin, the Admin call returned an error, but still added a duplicated entry in the `config.xml` file. Now, the Admin call no longer adds a duplicated entry for `JMSQueue`, `JMSTopic`, `JMSDistributedQueue`, or `JMSDistributedTopic` in the `config.xml` file.
CR219745 | Destinations can now be removed from a suspended migratable backend. As a result, when JMS servers are targeted to migratable targets, deleting and re-creating destinations no longer results in the following error: `weblogic.management.configuration.ConfigurationError: Error adding destination: instance already exists.`
CR221262 | A JMS frontend connection and session instance leak no longer occurs.
CR223209 | Expired messages with no expiration redirect policy defined are now dynamically removed from the store when they expire, so that store size no longer increases unnecessarily.
CR224668 | A `java.lang.ClassCastException` is no longer thrown on server restart when JMS attempts to page-in and add a durable topic message to a consumer that was paged-out on server startup.
CR225782 | JMS topic subscribers may temporarily stall while receiving messages if there is a delay on the request completion between client and server. This delay could occur due to network latency or an undetected peergone. To prevent a short term stall in message delivery, use the server side system property -Dweblogic.jms.DisablePushEnvelope=true.
CR226919 | A JMS memory leak that was caused by a temporary destination `delete()` failure no longer occurs.
CR229963 CR237399 | To avoid deadlock, the lock hierarchy for `browserCreate()` is modified to ensure that WebLogic Server is locking the destination before the session.
CR230297 | A deadlock no longer occurs when distributed queues are added and deleted through shell scripts that use `weblogic.Admin` commands.
CR235404 | Memory leaks were encountered if the producer was not explicitly closed before closing the client connection. This problem has been fixed.
CR239533 | Combo patch request of CR204981 and CR203841.

## JNDI

####

Change Request Number | Description
--- | ---
CR197207 | The Java client hung if the JNDI lookup was performed from a static block during the response from an EJB call. A new system property,`-Dweblogic.rjvm.t3.dispatchOnCompleteMessage`, needs to be enabled on the client side. When this property is enabled, the t3 request is processed on a thread other than the socket reader thread.
CR210323 | When using a javax.naming.CompoundName to bind an object, WebLogic Server no longer throws a JNDI error if there are quotes and a dot in the object name.

## JTA

####

Change Request Number | Description
--- | ---
CR048979 | A race condition no longer occurs when multiple enlistments of JTS connections attempt to initialize the resource at the same time. As a result, WebLogic Server no longer throws a `javax.management.InstanceAlreadyExistsException` while trying to get a JTS connection.
CR186070 CR233670 CR231422 | The configured JTA transaction timeout is now applied to any EJBs that do database work at the time an application is deployed.
CR205368 | A `java.util.ConcurrentModificationException` no longer occurs when WebLogic Server uses the JTA2PC debug flag and tries to print transaction information while another thread is trying to modify the hashtable used for local and global properties.
CR211194 CR220787 | Calling the XA call sequence `XA.end (TMSUSPEND)`, followed by `XA.end (TMFAIL)` followed by an `XA.rollback` in the case of an MQSeries resource prevents memory leaks in MQSeries.
CR212535 CR214984 | WebLogic Server now ensures that the subcoordinator will roll back any resource it has locally if it is given an empty list from the coordinator.
CR215559 | When a resource involving a global transaction threw a Heuristic Hazard Exception, the transaction was declared completed regardless of the fact that all the subcoordinators and resources had not responded to the commit. Ideally, during a commit process, if one of the subcoordinating servers is down, the coordinator should not have committed till such time that it heard from all resources and subcoordinators. Because WebLogic Server did not allow all subcoordinators to complete the commit call, transactions remained pending even though the transaction had been declared committed. The problem has been resolved.
CR215821 | When transactions span two domains and a commit is issued, the coordinating server is now able to reach the subcoordinating server and no longer throws the following exception: `Unable to get a direct or routed connection to...`
CR235382 | A PROTO exception was thrown for an asynchronous rollback call because of the differing behavior of vendor resources. Vendors like MS SQL, DB2 and Tibco need to be unlisted before the rollback call, using the TMFAIL flag. This problem has been fixed.

## JVM

####

Change Request Number | Description
--- | ---
CR210725 | When a client application spawned multiple threads to establish initialcontext and did the lookup from JNDI, the internal messages between the client and the WebLogic Server, sometimes used stale connection information on the server. Thus the server sent its response over a stale connection and the response never reached the client. This situation caused the client threads to hang indefinitely waiting for data and response from the server. WebLogic Server now synchronizes the dispatch of any messages with the connection management code. As a result, the client thread is prevented from being stuck indefinitely.
CR218538 | A `JAVA LEVEL DEADLOCK` no longer occurs when the RJVM is being shut down.
CR223414 | When multiple threads shared the same stub, sometimes WebLogic Server threw a `ConnectException` even when other servers were available in the cluster. Now, the server list in the cluster is refreshed at least once so the `ConnectException` is thrown only after none of the servers in the cluster are available.
CR224102 | When using DNS name as the ListenAddress for the Administration Server, and restarting the Administration Server with a different IP address, the Managed Server could not re-connect to the Administration Server, and WebLogic Server threw a `PeerGoneException`. The host IP address stored in the Server is now reset if a `PeerGoneException` occurs.

## Node Manager

####

Change Request Number | Description
--- | ---
CR128517 | Using the Administration Console, if you configure a machine, but do not configure Node Manager, and then you inquire about the state of the server, Node Manager is contacted by default. If you do not need the Node Manager, set the ListenPort to 0 in the machine configuration. This tells the server that the Node Manager is not configured, and it will not attempt contact.
CR192334 | The `NodeManagerMBean` methods `getLogs()`, `getErrorLog()`, and `getOutputLog()` were not implemented and returned null. These methods were erroneously marked as public in the javadoc and are now marked private. They no longer appear in the public documentation.
CR195322 CR208042 | After shutting down and restarting, NodeManager can now restart a Managed Server. In addition, NodeManager no longer fails to close sockets.
CR206260 CR214012 | The Managed Server would not restart during the first `CheckIntervalSeconds` after Node Manager is restarted. To fix the problem, the `serverState` instance variable, which holds the Managed Server state, is now updated when the state of the server changes.

## Operations, Administration, and Management

####

Change Request Number | Description
--- | ---
CR106432 | To avoid incorrect configuration, if the config.xml file has multiple entries with the same name for the same MBean type, WebLogic Server no longer boots up and the parser displays an appropriate error message.
CR107552 | WebLogic Server now throws a `MalformedObjectNameException` if ObjectNames specified on the command line are not correctly separated by the designated delimiter. For example, the following ObjectName contains the illegal delimiter, `|`, and therefore, would result in a `MalformedObjectNameException`: `SET -mbean mydomain:Name=sqlpool,Type=JDBCConnectionPool -property Targets mydomain:Name=OtherServer,Type=Server|mydomain:Name=myserver,Type=Server`
CR108485 | The new implementation now strictly enforces restrictions on attribute values. As a result, it is no longer possible to set a COMMO MBean attribute to a value that is lower than its minimum value and higher than the specified maximum. If you set invalid values for attributes on any of the security providers, these values will now fail.
CR108714 | Wlconfig no longer fails when queries return multiple object names and the return value is assigned to a property. In addition, WebLogic Server now throws an `InvalidWebLogicObjectNameException` if the MBean parameter passed in resolves to multiple MBeans.
CR109300 | The wl.Admin tool now accounts for the CommoMBeans and properly converts them to displayable Strings.
CR109386 | weblogic.Admin VALIDATECLUSTERCONFIG no longer fails in cases where the cluster has no cluster address (default) or the server has no listen address (default).
CR109680 | `weblogic.Admin` `validateClusterConfig` was output an error message even when the cluster was correctly configured. Now, `validateClusterConfig` does not throw an error if the cluster name is an empty string for the server.
CR109743 | When a shutdown is issued on a server through JMX, WebLogic Server no longer throws the following exception: `weblogic.rjvm.PeerGoneException: ; nested exception is: java.io.EOFException` As a result, it is no longer necessary to capture and ignore `RemoteRuntimeException`s when shutting down the server.
CR110861 | You can no longer use weblogic as the domain name. WebLogic Server now throws a clear configuration exception rather than a `NullPointerException` under the following circumstances: If the domain's name is weblogic when WebLogic Server parses the configuration file If you specified `-Dweblogic.Domain=weblogic` If you are creating a default configuration and attempting to use weblogic as the domain name.
CR110865 | Now, WebLogic Server throws a ConfigurationException when two or more Configuration MBeans have the same name.
CR120270 | The conversion utility now treats `JoltConnectionPool` as an MBean rather than as a startup class so that `JoltConnectionPool` is now converted properly.
CR120684 | Now, the `weblogic.Admin validateclusterconfig` command can be executed without a username, password, or server URL.
CR122793 | Because deprecated APIs are dependent on the Administration Server, it was necessary that the Administration Server be up to ensure a smooth shutdown of the Managed Server. Administration Server no longer needs to be up to perform a shutdown.
CR124003 | It is now possible to set the HTTP Message Timeout to "-1" in the Administration Console.
CR124169 | WebLogic Server no longer throws an Assertion error when shutting down or undeploying the WebLogic Messaging Bridge using JMX.
CR125202 | The chmod command is no longer used on Windows. Now, wlserver `generateconfig` no longer fails on Windows if the chmod command is not used.
CR129262 | `ServerDebugMBean` interface debug attributes were not dynamic. Therefore, when the value was set on the Admin MBean, it was not propagated to the Config MBean on the Managed Server. Now, `ServerDebugMBean` attributes can be dynamically be set and un-set.
CR132602 | The `weblogic.Admin` utility now allows access over the IIOP protocol when accessed through -adminurl.
CR133869 | Now, `ServerMBean.getClusterRuntime` returns true for a server that is part of a cluster.
CR137128 | Because increasing the array size and adding elements into an array are two different steps, the Array list was not synchronized. As a result, an ArrayIndexOutOfBoundsException was thrown when elements were added to Array list in two different threads. This exception is no longer thrown.
CR175671 | You no longer get a `NullPointerException` when you use the clz.getPackage() method.
CR175945 | Because the `running-managed-server.xml` file was being used to monitor the status of a Managed Server, the status was being displayed inconsistently and often incorrectly when viewed either from the Administration Console or from the command line. Now, when the Administration Server has discovery mode enabled, for each Managed Server entry in the `running-managed-server.xml` file, WebLogic Server attempts to determine if that server is running regardless of its status in the `running-managed-server.xml` file. As a result, Managed Servers are now being correctly discovered.
CR177737 | The Administration Server failed to start if two JMS queues using the same JNDI name were in a cluster and if "Replicate JNDI Name In Cluster" was enabled. Now, JNDI name validation is done against tree destinations of all the concerned servers so that any conflict is detected before actual server startup. As a result, it is not possible to configure a destination that can restrain the server from starting, and an attempt at such configuration causes an error to be thrown.
CR189644 | If logs had been rotated, the output of `View Server Log` in the Administration Console was not legible, and the order of the logs displayed was not correct because of the order in which file names were stored. There was also an inconsistency in the logs seen in Reverse chronological order and Forward chronological order. The output of `View Server Log` displayed the messages of the current log file as well as rotated log files, instead of just the current log file, for both reverse and forward orders. Now, the Console shows log messages only from the current log file and the contents shown in both forward and reverse chronological orders are the same.
CR189763 | When a staged application was deployed to a server running in MSI mode, the server incorrectly created a staging directory. Now, when a staged application is deployed on a server running in MSI mode, WebLogic Server determines whether to use an existing staging directory or create a new one. As a result, there is no `InvalidAttributeValueException` when deploying to a server running in MSI mode where the server process does not have write access to the directory structure.
CR191317 | If the Managed Server listen address was null and the Managed Server port was the same as the Administration Server port, WebLogic Server threw an error while starting the Managed Server if the Managed Server was started on a remote machine. Now, the Managed Server can be started on a machine other than the Administration Server machine in case its port is the same as the Administration Server port, even if its listen address is specified as null.
CR199214 CR193887 CR211395 | Whenever the log was rotated, the next log rotation was calculated using the file time span and the rotation time set in the LogMBean which was always returning the time between the rotation time and 24:00. As a result, the logs were not getting rotated between 24:00 and the rotation time. Now, the next log rotation time is calculated by adding the file span to the previously set next log rotation time. After the server has been started, the next log rotation time is dependent only on the file time span.
CR201967 | `MBeanHomeImpl.getActiveDomain()` returned the Administration DomainMBean, which caused problems when the Administration server was down. `MBeanHomeImpl.getActiveDomain()` now returns `Admin.getInstance().getActiveDomain(),` which is the local Configuration DomainMBean and does not rely on the Administration Server's availability.
CR202036 | On a Windows platform, the server log in the Administration Console now displays the last 2 characters of the line.
CR202059 | WebLogic Server incorrectly persisted certain attributes of type `java.util.Properties` for COMMO MBeans. Upon retrieval, the values were incorrect. This issue has now been resolved by proper serialization and de-serialization.
CR203963 | When trying to validate whether a user is locked out by using either the `ServerSecurityRuntimeMBean` or the `UserLockManagerMBean` on a Managed Server, the `isLockedOut` method and the `getUserLockoutTotalCount` method are now returning the correct results on the Managed Server.
CR205146 CR209670 | When a Web Application is undeployed, the memory used in Permanent Generation is now freed upon a full garbage collection. As a result, the server no longer runs out of memory when the Web Application is repeatedly undeployed and redeployed.
CR208029 | WebLogic Server now throws an exception during bootup if both the old and new style attributes co-exist in the `config.xml` file. For example: `<JoltConnectionPool ApplicationPasswordEncrypted="{3DES}pPCVe/Lp17dc5WG18Ot3wg=="Name="MyJoltConnectionPool" Targets="cgServer" UserPassword="userpassword"/>` is legal but `<JoltConnectionPool ApplicationPassword="appPassword"ApplicationPasswordEncrypted="{3DES}pPCVe/Lp17dc5WG18Ot3wg=="Name="MyJoltConnectionPool" Targets="cgServer" UserPassword="userpassword"/>` is illegal because it contains both `ApplicationPassword(old)` and `ApplicationPasswordEncypted(new)` attributes specified that really represent the same entity.
CR209218 | The `CounterMonitor.stop()` method is no longer synchronized and there is no more deadlock.
CR209592 | Security MBeans returned by the JMX query are no longer filtered out by the MBeanServer; they are returned to the client.
CR209771 | The `TaskRuntimeMBean.printLog(pw)` function got a `NotSerializableException` when the method was invoked on a T3 client. The method was excluded from the public documentation, and the `TaskRuntimeMBean.printLog(pw)` method is no longer documented or available for public use.
CR210425 | Now, the <wlserver> tag throws an exception when you try to stop the server without providing the username and password.
CR211069 CR218084 | The Administration Server now makes adjustments to the encyrpted attribute values when the Managed Server is on WebLogic Server 8.1 Service Pack 3 or earlier. As a result, when you upgrade an Administration Server to WebLogic Server 8.1 Service Pack 4 or later, you can start a Managed Server that is running on WebLogic Server Service Pack 3 or earlier.
CR212225 | During a JMS stress test, WebLogic Server no longer throws the following exception: `NotSerializableException: weblogic.t3.srvr.T3Srvr`
CR213168 CR214825 | Certain private methods that accessed shared data have been synchronized to prevent inconsistent states during server bootup. As a result, `ModelMBeanTypeMBean.operationCategory()` no longer throws a `NullPointerException` when starting multiple Managed Servers at the same time.
CR214170 CR208509 CR221784 | The Console application javascript code was rewritten to work on all known versions of all browsers.
CR214241 | When the `weblogic.Admin` tool `BATCHUPDATE` option was used, quotes were stripped from the file before processing. The logic on stripping quotes from batch files was changed to allow empty quotes to be passed. As a result, `wl.admin` now works the same in batch mode as in interactive mode.
CR214288 CR236570 | Application deployment on a large cluster of nodes threw a `NullPointerException` on the Administration Server, of a synchronization problem in updating the configuration MBean list. This problem has now been fixed.
CR214301 CR230260 | During the validation check of setting the `ErrorDestination` to a valid `JMSQueue`, the `JMSLegalHelper` code failed with an `NullPointerException` because the parent attribute had not been set. Now, if the parent attribute is not set, WebLogic Server tries to obtain the parent from the `WeblogicObjectName` for comparison and legal checks. As a result, WebLogic Server no longer throws a `NullPointerException` and still does the validation check.
CR215114 | The JDBC pool commands usage strings have been updated to be consistent with code. RESET, ENABLE, DISABLE, EXISTS, TEST, REMOVE, SUSPEND, SHUTDOWN, RESUME, and DELETE use `-poolName <poolName>` to obtain the JDBC connection pool name for the specified operation. CREATE and DESTROY pool commands obtain the poolName through a positional parameter to the command line.
CR216453 | The Monitor role could not see the deployment status on the Console because the required access permissions were not given. Now, monitor role can access the deployment status page.
CR216513 | When authorization errors occur, the Administration Console now shows a complete error message that explains the reason for the remote failure.
CR219192 | When setting the `ErrorDestination` of the `JMSQueue`, a `NullPointerException` no longer occurs in the Administration Server.
CR220015 | The weblogic.Admin utility returned an exit code of 0 when the START and RESUME commands failed. This problem has been fixed and now weblogic.Admin returns 1 as the exit code.
CR221970 | WebLogic Server logger formats the log record before publishing it. When formatting bad records, any exception that occurred was not handled, which resulted in the log record not being published. After a certain number of such bad records, the logger deleted the handler, no records were published, and logging stopped. Now, WebLogic Server handles all exceptions during formatting and publishes the records. As a result, logging continues despite bad log records.
CR223944 | The `weblogic.Admin` `BATCHUPDATE` command now returns accurate results when executed from the command prompt or as a batch file.
CR227566 | When generating custom providers, WebLogic Server generates `<MBeanInterfaceName>MBI.java` files that are used to generate the MBeanInfo files for the compiled MBeans. WebLogic Server now puts these source files in the same package as the MBean interface for which this class was generated. WebLogic Server no longer bundles these `*MBI.class` files in the provider's JAR file. As a result, the JAR files are much lighter.
CR228265 | A timestamp formatted log file is now displayed in the Administration Console.
CR232488 | The WebLogic Server command line tool displayed junk attribute values when it encountered encrypted data. This problem has been resolved.

## Plug-Ins

####

Change Request Number | Description
--- | ---
CR128730 | When HttpClusterServlet sent a request to PRIMARY using a recycled connection, it did not determine that there was a failure to connect until it was too late to re-connect. As a result, HttpClusterServlet was never failing over to SECONDARY. Now, HttpClusterServlet checks to confirm whether the request was successfully sent to PRIMARY. Subsequently, if the request to PRIMARY was not sent successfully and HttpClusterServlet had used a recycled connection, HttpClusterServlet tries to create a new connection to PRIMARY. If the subsequent request also fails with an exception, HttpClusterServlet fails over to SECONDARY.
CR175989 | The Apache server generated core dumps when using the worker (multi-threaded) option instead of the prefork (only multi-process) option. This was resolved by fixing the Locking and Unlocking logic.
CR199080 | Now, when the plug-in fails to connect to WebLogic Server, GETLASTERROR is getting logged. Log messages have also been added to log any errors that occur while the plug-in is connecting to WebLogic Server.
CR201397 | With `Idempotent=OFF`, the IIS proxy plug-in does not retry if it gets a `READ_TIMEOUT` exception after `WLIOTimeoutSecs` has elapsed.
CR202898 | When a HEAD request is sent to an Apache plug-in, the headers in the HttpResponse are no longer missing the Content-Length header and the Content-Type header is no longer corrupted.
CR205009 | Starting the Apache plug-in (revision 158) with root user no longer results in a core dump.
CR205132 | Now, Apache 2.0.49 (with mod_wl_20.so) child processes are always terminated on HP-UX.
CR205760 | If an INSUFFICIENT_BUFFER error was thrown while reading requests, then new memory was allocated. This memory was being accessed later in the method after it had been freed. Now, memory is freed at the end of the routine.
CR206043 | When performing HTTP GET requests that were larger than 4096 bytes, the following error was seen in the `wlproxy` log files: `request too long: XXXX, max is 4096` This problem is resolved and the error is no longer thrown.
CR206340 | The failover logic used during WebLogic Server shutdown has been fixed. WebLogic Server no longer returns HTTP 404 after SHUTDOWN sequence is initiated.
CR207694 CR215550 CR217567 | Now, when "Expect: continue-100" is found in the request, NSAPI replies with "HTTP/1.1 100 Continue" in the header instead of in the response body.
CR208303 | On AIX, the errno variable was not thread safe. To make the errno variable threadsafe, `-D_THREAD_SAFE` was added to the `Makefile.aix`.
CR209383 | POST data is no longer getting chunked when `FileCaching` is set to OFF.
CR209963 | Users could not access the welcome page of the application deployed on the backend WebLogic Server when `HttpClusterServlet` or `HttpProxyServlet` was used on the frontend WebLogic Server. The welcome page had to be appended to the URL while sending a request using the browser. Now `HttpClusterServlet` or `HttpProxyServlet` accesses the correct welcome page of the application.
CR210497 | The `iisproxy128.dll` bits were not available in the installer because the path for the binary in the `build-native.xml` file for the installer was wrong. The path has been rectified and the `iisproxy128.dll` bits are now available in the installer.
CR210899 | When the `DefaultFileName` property is set along with the `PathTrim` and `PathPrepend` properties, the final URI is no longer malformed.
CR212235 | Multiple threads were updating the ServerList causing WebLogic Server to crash. To prevent this from happening, WebLogic Server now ensures that only one thread updates the global server list at a time.
CR213200 CR237205 | GenericProxyServlet now checks for EOF read from Input Stream before calling the `OutputStream.write()` method. As a result, an `ArrayIndexOutOfBoundsException` is no longer thrown.
CR213809 | The older Apache plug-in used an undefined symbol AP_NEED_SET_MUTEX_PERMS on an HP-UX platform. This problem has now been fixed. Contact BEA Customer Support for the latest patch.
CR216445 CR227315 | The size limitation for the response header has been removed. The NSAPI plug-in now allows response headers that are greater than 16k.
CR216621 | Changes made by `mod_rewrite` to the URI are reflected only to `request_rec->uri`. Hence, the Apache plug-in now uses `request_rec->uri` by default. Also, a new property, `WLForwardUriUnparsed`, has been added. When it is set to ON, the Apache plug-in uses `request_rec->unparsed_uri` instead of `request_rec->uri`. Note: The Apache plug-in with `WLForwardUriUnparsed` set to ON does not work correctly with `mod_rewrite`.
CR216841 | Absolute URL was not converted to relative URL before processing it for `pathPrepend` and `pathTrim` when using an unparsed URI. Now, if the Apache plug-in detects an absolute URL, it first converts it to a relative URI before applying the `pathTrim` and/or the `pathPrepend` properties.
CR218494 CR237656 | WebLogic Server no longer throws an error during graceful shutdown using a memory-based locking mechanism on Linux and HP_UX.
CR220685 | WebLogic Server no longer retries using a new connection when the following are all true: Idempotent is set to OFF. A recycled connection is being used. The backend server is not responsive.
CR222702 | Apache Web server no longer generates huge log files under load if APLOG_NOTICE log level is used within the plug-in.
CR222855 | Now, the latest proxy plug-in for SunOne 6.1 serves the `ErrorPage` before `WLIOTimeoutSecs`.
CR228256 | In a clustered environment, WebLogic Server no longer throws a `java.net.SocketTimeoutException` when a client with WebDAV implementation accesses the Managed Server through the `HTTPClusterServlet`.
CR229338 | Now, the plug-in infrastructure logs errors when it fails to open the default log file and when it fails to resolve the hostname.
CR229990 | To avoid a delay of 200 milliseconds when receiving the response from the ISAPI plug-in, the Nagle algorithm has been turned off.
CR232588 | The `CookieName` parameter in the WebLogic Apache module overrides the `CookieName` parameter in Apache mod_usertrack module. Replace the `CookieName` parameter with `WLCookieName` for a WebLogic Apache module.
CR235434 | When the NSAPI plug-in with Sun One 6.1 is used, the HTTP response header no longer records two instances of the "Date" field.
CR237406 | On the HP-UX platform, the installer could not install the 128-bit SSL version of the Apache plug-in. The plug-in is now included as part of the installer.

## RMI

####

Change Request Number | Description
--- | ---
CR185615 | In order to allow WebLogic Server to inter-operate with WebSphere, the default values for Common Secure Interoperability Version 2 (CSIv2) deployment descriptors are no longer hardcoded. The default values are now configurable using MBeans. Use `IIOPMBean.setSystemSecurity` to change the defaults.
CR197396 | Performance is improved because the CPU load on machines no longer increases to 100% while server instances call addIndirection for IIOP Outbound responses to clients calling an EJB with RMI/IIOP.
CR198316 | The equals method of `ClientRuntimeDescriptor` did not consider the case when a custom classloader was the contextClassLoader and the interfaces were loaded by the custom classloader. As a result, too many instances of `ClientRuntimeDescriptor` were created, causing the CPU usage to peak. The equals method of `ClientRuntimeDescriptor` now checks for the custom classloader, which results in fewer instances of `ClientRuntimeDescriptors` and less CPU usage.
CR201444 | WebLogic Server no longer throws a `NullPointerException` when accessing an EJB over IIOP.
CR206947 | Marshalling large objects over IIOP was slower than over T3. A system property, -Dweblogic.iiop.useJavaSerialization, was added to WebLogic Server. When set to True on the server side, this property uses java serialization and thereby improves the performance when marshalling large objects. The property can also be set on the IIOPMBean. When it is set on the IIOPMBean the property is called UseJavaSerialization. For large objects, when this property is set, performance over IIOP is equivalent to performance over T3. However, if remote objects are embedded inside the serializable objects returned by the remote calls, WebLogic Server ignores the property.
CR208687 | There was an interoperability issue with WebSphere when using EJBs in a Web Application for lookup. A `java.lang.ClassCastException` was thrown as there was an incorrect stub generation and serialization of nodes in a cluster environment. This problem has been resolved.
CR213332 | WebLogic Server thin client no longer receives NULL as the return value of an EJB call that returns a dynamic proxy object.
CR213643 | When using the patch for CR202488 with the administration port enabled, WebLogic Server no longer throws the following exception: `PeerGoneException: Duplicate Connection and EOFException`
CR215851 | When using IIOP protocol, a `TransactionRolledBackException` from WebLogic Server resulted in a `ClassCastException` on the client side. Now, the method is properly invoked depending on the type of transaction. As a result, the `ClassCastException` is no longer thrown.
CR217023 | In clustered environments, WebLogic failover logic left a user on the thread stack, which can cause certain side effects apart from a minor memory leak. WebLogic Server now ensures that this user is popped from the stack and the context is properly closed so that all associated objects get garbage collected.
CR217025 | If you were using JavaSocketMuxer on the server and had an incorrect classpath configuration in which the client knew about the classes but the server did not have those classes in its classpath, an EJB invoked from the client sometimes failed with no exception on the server making it difficult to debug the root cause of the issue. Now, WebLogic Server properly reports the exception.
CR218848 CR204958 | WebLogic Server can now timeout a client-side synchronous RMI call to EJBs by exposing the `remote-client-timeout` parameter through the EJB descriptors. The client gets an exception if the call does not complete within the specific timeout duration. The timeout is implemented for the IIOP protocol. It was fixed for T3 through CR176676 in WebLogic Server 8.1 Service Pack 4.

## Security

####

Change Request Number | Description
--- | ---
CR124239 | It is now possible to search on an attribute immediately after it has been added to an entity in an embedded LDAP server using an external tool or API.
CR125681 | Principal validator now validates the principals properly and no longer throws exceptions during validation.
CR177523CR224395 | When proxying a connection, WebLogic Server was validating the proxy hostname rather than the target system hostname, which resulted in a validation error. Now, WebLogic Server validates the target system hostname.
CR181752 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/146
CR186439 CR214220 | When a domain with a cluster is started through the Administration Console, the locking mechanism for the LDAP server is now working properly. As a result, Managed Servers are no longer hanging during startup.
CR194529 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/152
CR201978 | When WebLogic Server discovered that the embedded LDAP index file was corrupted, the error was not always passed up to the calling code. As a result, the calling code continued to process requests, based on the faulty index file, which triggered more exceptions. The log file no longer contains records for the searches on faulty indices. The incorrect index file is now correctly handled.
CR206421 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/154
CR206881 | WebLogic Server does not allow the value for the SSL `LoginTimeoutMillis` to be set to 0 in the `config.xml` file. WebLogic Server documentation no longer states that a value of 0 disables the attribute.
CR210229 | Calling the `ServletAuthentication.weak()` method no longer results in an `EmptyStack` exception.
CR210310 CR231457 | The CA certificates that had the path length constraint field omitted in their basic constraints extension were not recognized as CA certificates. As a result, certificate chains containing such certificates failed certificate validation during SSL connection. Now, such certificates are interpreted correctly as CA certificates with no path length constraint.
CR210734 | Support for the following two AES cipher suites has been added: `TLS_RSA_WITH_AES_128_CBC_SHA` `TLS_RSA_WITH_AES_256_CBC_SHA` In order to use `TLS_RSA_WITH_AES_256_CBC_SHA` cipher suite, you need to install JCE unlimited strength jurisdiction policy files instead of the policy files that are shipped with the JDK by default.
CR211656 | Permission statement parsing was not handling wildcard characters and escaped quotes except in one specific use case. To fix this, the parsing routine was changed so that it can handle any valid combination of wildcarding and quote escaping. Any possible valid combinations of clauses in the `ra.xml` are now being handled without any error.
CR211853 | There is no longer a socket leak when WebLogic Server makes a SOAP call over HTTPS to Sun One Identity Server.
CR212348 CR231517 | The `listGroupMembers()` method's SSPI call was aborting with an exception if one of the group member's Distinguished Names was invalid. Now, the `listgroupmembers()` method shows the valid groups and ignores the members whose Distinguished Names cannot be validated.
CR213399 CR175135 | A custom object extending UserInfo could not be passed into InitialContext for authentication, which broke backwards compatibility. The "Custom Object Authentication Enabled" attribute was added to the Security Mbean and the Compatibility Advanced tab on the Administration Console so that if a user passes a custom object that extends UserInfo for authentication, it will be taken care of. This attribute is disabled by default because it affects performance.
CR214372 | The token from the request header is being handled correctly when it is used to assert identity. In addition, if certificates are supplied, but there is no identity asserter that supports them, then WebLogic Server throws an exception.
CR214423 | There is no longer a memory leak with `weblogic.net.http.HTTPSClient`.
CR215121 | The `socket.close()` method was fixed to prevent the file descriptors from increasing in number and thus causing a memory leak.
CR215515 | Some versions of Internet Explorer hang when WebLogic Server sends 0 length packets. Now, you can disable sending 0 length packets by adding the public property, `-Dweblogic.security.SSL.DisableSSLEmptyRecords=true`. Internet Explorer does not hang if this property is enabled. The default value of this property is False.
CR215718 | The multiple step identity assertion interfaces are now available in the WebLogic Server security framework.
CR215837 | When a client tries to start an application by Java WebStart using T3s to connect to the server, the client no longer gets a missing license exception when it tries to connect.
CR215960 CR237210 | JSAFE native library support has been added. Since WebLogic Server 8.1 SP5 ships only the FIPS jsafe jar, please contact the support service of the vendors, for other native libraries.
CR218149 | Custom exceptions thrown by Custom Realms are now propagated up the call stack by WebLogic Server.
CR218240 CR230119 CR230439 CR233424 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/122
CR219417 | `ClearOrEncryptedService` no longer causes an `NullPointerException` when executed from a JMX remote client. `ClearOrEncryptedService` is only available on the server-side. WebLogic Server now throws an exception if it is instantiated on the client.
CR220061 | JMS topic receivers stopped receiving messages when the network cable was unplugged from another machine where other JMS receivers were installed. To fix this, changes were made to the outputstream wrapper class so that the new socket times out properly.
CR222113 | Using the Administration Console, you can now define security policies for the methods of your Web Service to allow access to specific roles.
CR224395 | The Certicom code no longer fails with a `NullPointerException`.
CR226331 | WebLogic Server 8.1 SP4 now returns the complete client certificate information to the `UserNameMapper` implementation.
CR227505 | While doing the dynamic group search, WebLogic Server no longer abandons the search when the list contains an invalid URL. Instead, it continues with the valid URLs.
CR227734 | New policies have been added to enforce the `JDBCConnection` operation permissions at the JDBC layer level. As a result, if you grant access to a resource by defining policy that the security providers enforce, access is no longer denied if it gets blocked at the JMX policy layer.
CR229605 | Now, `UseRetrievedUserNameAsPrincipal` and `UserNameAttribute` are both working correctly when `sAMAccountName` defines the user attribute.
CR229976 | A failed LDAP Connection from the pool is now silently retried with a new connection.
CR232551 | Entitlement language characters such as hyphen and space were not supported in the Administration Console, WebLogic Server Scripting Tool, or while calling MBean APIs. This problem has been resolved by encoding the entitlement language syntax with the current entitlement expression syntax.
CR234477 | An `InvalidParameterException` was thrown while deploying a resource adaptor when the associated deployment descriptor contained permission statements that used wildcard characters or escaped quotes. This problem has been resolved.
CR234765 | Size of the EmbeddedLDAP files continued to increase even after deleting data. Now all files are re-written and data compressed when it reaches the configured size limit. The size is set by the weblogic.security.ldap.maxSize=<max bytes> system property.
CR234996 | There was a timing issue when connecting a restarted Managed Server to an Administrative Server, over a secure port which was not yet initialized. This problem has been fixed. Any connection failure or NotYetInitializedExceptions thrown because of a secure connection can be ignored.
CR240524 | Combo patch request of CR239321 and CR212348.

## Servlets and JSPs

####

Change Request Number | Description
--- | ---
CR085091 | A custom error page, if defined, is now served if the request is a conditional `GET` (`Is-Modified-Since` header set) for a protected resource.
CR136682 | You can now enable form-based authentication over https even if cookies are disabled in the browser. However, enabling this feature forces the browser to display the Authorization Cookie as part of the URL. To enable this feature, add the following flag to the Weblogic start script: `-Dweblogic.http.AuthCookieURLRewritingEnabled=true`
CR174837 | The unnecessary cast to weblogic.servlet.jsp.PageContextImpl in the generated JSP has been removed. As a result, custom PageContext implementations are now usable.
CR183350 | If the `local-path` used with the virtual-directory-mapping was a relative path (not an absolute file path), it was resolved differently in WebLogic Server 7.0 and WebLogic Server 8.1. Now, in WebLogic Server 8.1 and later, the relative path is first resolved against the Web Application docroot directory and if that directory does not exist, it is resolved against the server's root directory. Note: The server's root directory can be overridden by the -Dweblogic.RootDirectory property. When migrating the Web Application from WebLogic Server 7.0 to WebLogic Server 8.1 with the following entry, the entry needs to be modified: `<virtual-directory-mapping>` `<local-path>./</local-path>` `<url-pattern>/portal/*</url-pattern>` `</virtual-directory-mapping>` In this case, `local-path` is referring to the current directory. First, the path `./` will be resolved against the Web Application document root. Because this always exists, it will not be resolved against the server root directory and the files from virtual directory will not be found at the runtime. To work around this problem, create a new directory with a name `<newDir>` under the server's root directory, move the virtualDirectory files into this new directory, and change the `local-path` to `./<newDir>`.
CR189815 | If a change was made in the HttpServletContext that extended ActionForm in Struts framework, WebLogic Server threw a ClassCastException while accessing it. Now, when the servlet is reloaded, any non-serializable attribute (stored in HttpServletContext) that is loaded using the servlet or its child classes is removed from HttpServletContext. As a result, the WebLogic Server no longer throws a ClassCastException while accessing HttpServletContext.
CR190817 | The `save-sessions-enabled` attribute now works when `context-root` is set to: `&amp;quot;/&amp;quot;`
CR202054 | When Apache Cocoon is used to present icons to the browser, performance is faster and better.
CR202217 | `WLObjectOutputStream` now writes the annotation and `WLObjectInputStream` reads the annotation so that the proper classloader is set to load the proxy objects. As a result, WebLogic Server no longer throws a `ClassNotFoundException` when storing proxy objects in a session.
CR202495 CR236810 CR239392 CR206002 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/130
CR205986 | Calling `HttpSessionBindingListener.valueUnbound()` while WebLogic Server code synchronized on the session (due to a call to `session.invalidate`) caused a deadlock. Now, if `session.invalidate()` is called from two different threads, one of them receives an `IllegalArgumentException,` and if the same thread calls `session.invalidate()` again, the call is simply ignored.
CR207215 CR222689 | The Apache Web server too much memory if the response to an HTTP/1.0 request contained the "Accept-Ranges" header. WebLogic Server now only sends the "Accept-Ranges" header to the response to an HTTP/1.1 request.
CR207481 CR212670 CR214349 | When the incoming JSP request URI is transformed in the filter, the Web container no longer generates duplicate JSPStubs for the same transformed URI and therefore no longer leaks memory.
CR207643 | When set to True, a new property,`-Dweblogic.allowCommasInNetscapeCookie`, allows commas as valid separators in a Netscape cookie. The default is False.
CR208931 CR213764 | The internal flag is now set correctly if the same socket is re-used to serve a chunked-encoded request followed by a content-length request. As a result, the content-length request is no longer treated as a chunked request.
CR209626 | Use of the inner static class with the <jsp:usebean> tag was broken because the file name should have had a period (.) to refer to the file, but instead used a dollar sign ($). To fix the problem, a period (.) was added for an inner class, so the new code is now defined as in the following example: `new SubClassTest.Data()`
CR210386 | Port 80 can now be used for the HTTPS protocol.
CR211039 | Session invalidation no longer causes an `EJBException` for local interfaces stored in the HTTP session. Session cleanups are now carried out using the classloader of the Web Applications in which they are loaded.
CR211133 | Now, WebLogic Server honors the FileCount property when FileName contains SimpleDateFormat.
CR211497 | The JSP compiler did not trim the extra white spaces from the generated page. The JSP compiler grammar was modified to adhere to the JSP 1.2 specification when processing white space in the JSP page. As a result, the size of the generated page is reduced and the overall page rendering is now improved.
CR211927 CR244881 | A classloader mismatch error occurred when the replicated HTTP session had EJB stubs that were not packaged with the Web Application. This problem has been resolved.
CR212058 | Query string is no longer modified when the `getRequestDispatcher` method is called on `ServletRequestImpl`.
CR212871 | WebLogic Server no longer throws a stack overflow exception regardless of how many JSPs are in the Web Application.
CR213426 | When a client application using a `HttpClusterServlet`, executed a POST using chunked transfer encoding, a Managed Server in a cluster returned the following: `&quot;501 Not Implemented&quot;` WebLogic Server now handles the chunked request correctly.
CR214104 CR222683 CR228624 | SessionID generated with reserved keyword in the first 4 letters was impacting performance. The sessionID generation logic was modified to fix this issue.
CR214245 | The default Web Application from the `defaultHttpServer` was getting undeployed when any other unrelated Web Application was undeployed from the virtual host. Code was fixed to resolve this issue. If any Web Application is undeployed from a virtual host, the default Web Application from the `defaultHttpServer` will not be undeployed.
CR214988 | Logic was added to remove from memory all `SessionData` objects whose corresponding Session IDs are non-existent in the database. This cleanup of orphaned `SessionData` happens once in every 10th run of the invalidateSession trigger. As a result, there is no longer a memory leak when using JDBC Session Persistence in a clustered environment.
CR217051 | Setting `fileCaching=false` in the `web.xml` file is now honored for chunked post requests.
CR217213 | When reading large files, the sun.io.MalformedInputException was thrown if the command line options '-Dfile.encoding=UTF-8' and 'servletRequest.setCharacterEncoding("UTF-8")' were used together. This problem has been resolved.
CR219602 CR236224 | WebLogic Server no longer throws an IO Exception (`java.net.SocketException`) when the socket connection gets reset for whatever reason, such as the browser closing when the page is being processed or the page refreshing when the page is being processed.
CR220782 | When WebLogic Server throws a compile error of the servlet-mapped JSP file when a JSP registered as a servlet uses the `<servlet>` element in `web.xml` file, the JSPStub corresponding to this JSP is no longer removed. As a result, when the compilation error of the servlet-mapped JSP file is corrected, this JSP is compiled again and served. Because the mapping exists in the URI map for the required JSPStub, WebLogic Server no longer throws a 404 Page not found error.
CR220806 | The `weblogic.http.session.maxConcurrentRequest` property has been added to limit the number of concurrent requests for a session. If the number of concurrent requests for a given session exceeds the specified value, the servlet container will start rejecting requests. By default, this property is set to -1, which indicates the servlet container does not impose any restrictions.
CR225116 | In case of nested or concurrent invalidation of sessions, WebLogic Server occasionally threw `EmptyStackExceptions`, due to the internal pops on the user stack. This problem has been resolved.
CR227702 CR239269 | Now, WebLogic Server serves the Welcome file from a directory defined in the `weblogic.xml` file as a virtual directory and residing anywhere on the system (not necessarily under the application root).
CR228381 | WebLogic Server threw an ApplicationException when deploying the ConsoleExtensibilitySample Web application on WebLogic Server 8.1 SP4 version. This problem has been resolved.
CR228812 | WebLogic Server no longer throws an Assertion Error when an HTTP POST request to an unsecured resource is forwarded (`RequestDispatcher.forward`) to a secured resource.
CR229006 | When a page directive is defined in an including resource with `session="false"`, `weblogic.jspc` no longer ignores the `session="false"` setting.
CR229062 | Now, when Servlet Filter Initialization fails, undeploying the application no longer fails.
CR229334 | Refer to the security advisory information available at: http://dev2dev.bea.com/pub/advisory/139
CR229577 | In FormBasedAuthentication, the requested URL was not getting properly stored, both before and after the user was being authenticated using the form-based login page. To store the complete URL (including the http or https protocol scheme) of the original request, the following parameter was added to the weblogic.xml file: `<container-descriptor>` `<retain-original-url> true </retain-original-url>` `</container-descriptor>`
CR230285 | Now, when WebLogic Server is overloaded, a weblogic.utils.UnsyncCircularQueue$FullQueueException is no longer thrown. Instead, the Web container handles this condition and sends a Service not available response to the client.
CR232639 | Some HTTP sessions were not invalidated after the timeout period expired, causing an out of memory error. All the sessions now expire on timeout.
CR232735 | In some cases, the http response time was slow and delayed as each response was delivered in two separate TCP packets, regardless of its size. Except for certain exceptional scenarios, the http response is now sent as a single TCP packet by default. However, a large http response can also be sent in two packets, if the message size is larger than the value of the CHUNKSIZE variable. You can configure the CHUNKSIZE variable to determine the size of a large response message.
CR234441 | WebLogic Server allowed the user to pass name as null in `ServletRequest.setAttribute`. WebLogic Server now throws an `IllegalArgumentException` when a null entity is passed as name for `ServletRequest.setAttribute`.
CR235025 | System property `DynamicServerList=OFF` now works in HttpClusterServlet.
CR235555 | Contents of a large JSP file are no longer garbled because the jspc compiler no longer ignores pageEncoding.
CR240564 | Combo patch request of CR236810 and CR229949.
CR240572 | Combo patch request of CR236810 and CR230070.

## SNMP

####

Change Request Number | Description
--- | ---
CR204059 | WebLogic Server threw a `java.lang.IllegalArgumentException` when retrieving the SNMP information for `OID .1.3.6.1.4.1.140.625.650`. Under the covers, the value retrieved from the JMS runtime could not be converted back to the interface type in MIB. This problem has been resolved.
CR206283 | LogBroadCaster handlers did not receive trap notifications when the domain log flag was set to false. This problem has been resolved.
CR206632 | When the BEA SNMP Agent came up, it initialized all the server states in the domain to False by default. During the next refresh cycle, when it actually checked the status on each server, the status for servers that had already been running when the Administration Server was booted was True. The SNMP agent then issued a trap because of a state change. Because the servers had been running the whole time, the SNMP agent should not have issued the trap. Now, WebLogic Server initializes the Managed Server states correctly when the Administration Server boots up so that these false traps are not sent out.
CR209397 | New EJBRuntime attributes were added to the MBean and the Management Information Base (MIB), but the EJBRuntime Handler was not updated to retrieve these attribute and return them. Code has been added to the EJBRuntime Handler to return the values for these runtime attributes. As a result, SNMP now works correctly when EJBPoolRuntimeAccessTotalCount is used.
CR216306 | The jmsPooledConnectionRuntime handler can now find the attributes in the Management Information Base (MIB) and there are no more problems running snmpwalk.
CR222114 | The enterprise OID for the SNMP `coldStart` trap was incorrect. It has been changed to ".1.3.6.1.4.1.140.625".

## Tools

####

Change Request Number | Description
--- | ---
CR098504 | The value replicated_if_clustered has been added to the drop down menu in Marathon, so that you can now set replicated_if_clustered for a session-param.
CR183190 | The DB2 driver was improved to prevent the `java.sql.SQLException`.
CR203256 | EJBGen now generates the proper DD entries for transaction attributes on local `home` and `create` methods.
CR210252 | EJBGen now recognizes max-beans-in-free-pool and initial-beans-in-free-pool for entity beans.
CR212713 | Calling setFetchSize() while using the Oracle thin driver was corrupting data. Oracle delivered a patch thin driver to fix this problem. Call BEA Customer Support to obtain the patch.
CR216571 | WebLogic Builder now supports adding `resource-env-ref` and `res-env-ref` elements.
CR220246 | WebLogic Server no longer prints out default values for <remote-client-timeout>.
CR227292 | Now, when using the WebLogic Server java Utility DDInit tool, WebLogic Server correctly writes the context-root tags in the `application.xml` file without the `.war` extensions.
CR230460 | Marathon now fully supports editing `resource-env-description` elements.
CR235970 | WebLogic Builder took a long time to save very large EAR files. As a result of the extended save time, the application appeared to hang. Inefficiencies in the saving mechanism of EAR files have been fixed, so large files are now saved much faster.

## Utilities

####

Change Request Number | Description
--- | ---
CR199899 | `Weblogic.ejbc` no longer fails when there is a $ symbol in the interface class name.
CR200530 | Using the`java weblogic.marathon.ddinit.EarInit` method in a multi-user environment resulted in access issues for the temporary directory created by the method. Only one user could write to that directory at any given time. You can now specify your own temporary directory using the `-Dmarathon.tmpdir` flag when you invoke the `weblogic.marathon.ddinit.EarInit` method.
CR229018 | Now, `DDconverter` supports empty query strings and successfully automates the migration of deployment descriptors from EJB 1.1 to EJB 2.0.

## Web Services

####

Change Request Number | Description
--- | ---
CR181775 CR229016 | WebLogic Server generated the type dynamically when `xmlType` was not an element of the known schema during deployment. As a result, the element names from the original imported schema were not preserved in the generated WSDL file. A system property,`-Dweblogic.webservice.noDynamicTypeGeneration`, has been added to WebLogic Server which, when set to true, preserves the original element names.
CR185173 | When calling into a WebLogic Server 7.0.2 Web Service from a WebLogic Server 6.1.4 dynamic client, running the webserviceclient+ssl.jar through the `VersionMaker` utility, and then using the modified jar file in the WebLogic Server 6.1.x environment, WebLogic Server no longer throws a `java.lang.NoClassDefFoundError`.
CR189437 | It is now possible to send a simple text file attachment from the test client in BEA WebLogic Workshop® to a Web Service created using WebLogic Workshop.
CR189437 | WebLogic webservice client is now able to send a simple text file attachment.
CR189884 | There was a problem handling the inclusive namespaces prefix list in the C14N implementation, resulting in failure of signature verification. This problem has been resolved.
CR198708 CR212958 | A Web Service client running from an applet no longer fails with an `AccessControlException`.
CR202714 CR235349 | When importing an XML Schema as the default namespace, WebLogic Server no longer adds unnecessary namespaces in the SOAP request.
CR204082 | A WebLogic Web Services client no longer throws a `StackOverFlow` exception while deserializing `XSDAnyType.`
CR208435 | Signature verification no longer fails for Web Services security draft 12 specification on WebLogic Server.
CR208557 | When verifying a WSEE 1.0 signed soap message, WebLogic Server no longer throws a `java.lang.Exception`.
CR208927 | If the response object is a custom type and contains an instance variable XXX that is of type boolean, the servicegen ant task generates classes that have the method `isXXX()` in addition to `getXXX()`.
CR210221 | `BusinessEntity CategoryBag` is no longer being overridden by `BusinessService CategoryBag`.
CR210455 | The WebLogic Web Service client no longer throws an `ArrayIndexOutOfBoundsException` when a user-defined exception that extends `org.apache.commons.lang.exception.NestableException` is thrown by the webservice method.
CR210918 | WebLogic Server threw the following exception on the client side: `javax.xml.rpc.soap.SOAPFaultException: One or more references failed to validate`, because of the addition of a spurious default namespace to an unqualified xml attribute. To resolve the problem, the code generation tool was fixed to generate the XMLName with just the `localName` (no nameSpaceUri) when the attribute is unqualified.
CR211670 | The Ant tasks supporting Web Services development fail unless the `webservices.jar` is included in the classpath. The problem was resolved by adding webservices.jar to the classpath in WL_HOME/common/bin/commEnv.sh script file.
CR211994 | The WebLogic Web Service client now sends back all cookies in multiple set-cookie headers from the server.
CR213425 | WebLogic Server no longer throws a `weblogic.xml.schema.model.XSDException` when clientgen is used against wsdl with imported namespace in the schema.
CR216574 CR235981 | The `autotype` Ant task does not comply with the JAX-RPC specification if the XML Schema data type (for which it is generating the Java representation) has all the following characteristics: The data type is a `complexType`. The `complexType` contains a single `sequence`. The `sequence` contains a single `element` with `maxOccurs` greater than 1 or unbounded. The following example shows such an XML Schema data type: `<xsd:complexType name="Response"> <xsd:sequence > <xsd:element name="code" type="xsd:string" maxOccurs="10" /> </xsd:sequence> </xsd:complexType>` The `autotype` Ant task maps this type of XML Schema data type directly to a Java array of the specified element. In the previous example, the `autotype` Ant task maps the `Response` XML Schema data type to a `java.lang.String[]` Java type. This is similar to the type of mapping that .NET does. The JAX-RPC specification, in turn, states that this type of XML Schema data type should map to a Java array with a pair of setter and getter methods in a JavaBean class. WebLogic Web Services do not follow this last part of the specification. WebLogic Server now has a warning message for the data type mapping that is non-compliant with JAX-RPC.
CR217189 | Generating a Web Service from a WSDL no longer fails with a compilation error.
CR217694 | Now, `weblogic.webservice.core.soap.DetailImpl` is serializable.
CR220734 | The servicegen ant task no longer fails to process `types.xml` with schema that has `&quot;include.&quot;`.
CR221530 | The ant task and autotype with encoding="soap" no longer results in the following error: `Encoding can only be "soap" or "literal".`
CR222033 | If a user-defined exception starts with the new line character `\n`, for example, the first character is `\n`, and the message presented after the `&quot;\n&quot;` character is no longer getting truncated when the exception is thrown.
CR222116 | Using `anySimpleType` extension in `complexType` no longer causes a `weblogic.xml.schema.binding.BindingException` in clientgen.
CR222793 | When two anonymous types have the same name, running the clientgen Ant Task several times no longer generates different code.
CR222873 | When Message Level Security was enabled for Web Services, if the request message exceeded a certain size, WebLogic Server was throwing a `JSAFE_InvalidUseException` when trying to encrypt the request message. To address this problem, the system property, `-Dweblogic.xml.outputStream.bufferSize`, was added. Use this property in the server start up script to increase the buffer size to accommodate large request messages and allow their encryption. The default value of the buffer size is 1024 bytes.
CR224569 | Now, a WebLogic Web Service client can catch a user-defined exception thrown from an AXIS service.
CR225438 | When a handler uses SOAPConnection to route a request to a Web Service without any change, if the incoming request has any empty element, the routing handler no longer fails with the following exception: `javax.xml.soap.SOAPException: Failed to send message: java.net.ProtocolException: Did not meet stated content length of OutputStream: you wrote 3653 bytes and I was expecting you to write exactly 3675 bytes!!!`
CR226344 | If you throw a user-defined service-specific exception defined as a complex type exception with only one element, WebLogic Server no longer throws the following exception: `weblogic.xml.schema.binding.SerializationException`
CR227493 | Now, the Web Service client works when the input type of the Web Service method is char.
CR232578 | WebLogic Server threw a `NullPointerException` when a message posted by the session bean to the JMS queue was lost while calling an external Web Service. The message is now redelivered without the `NullPointerException`.
CR232678 | Wsdl2service no longer fails to add the parameter location="attachment" to the dynamic wsdl file (web-services.xml) when the return param is `javax.xml.transform.Source`.
CR233130 | You can now use the `-Dweblogic.webservice.rpc.timeoutsecs` system property to set the default rpc timeout value for Web Services.

## WebLogic Tuxedo Connector

####

Change Request Number | Description
--- | ---
CR121432 | In the `weblogic.wtc.tbridge.tBexec` class, while running tpenqueue, the code checked for null replyQ and replaced it with the name of the configured request queue. This check has been eliminated, and NULL is now a configurable value for replyQ.
CR179410 | WTC did not clean up the old connection after reconnect. Tuxedo /Domain and WTC are connected with the ON_STARTUP connection policy. If the machine on which the Tuxedo domain was running was down, when it was restored, WTC did not clean up the old connection. Now, when the same remote domain receives a new connection, the old connection is dropped.
CR196598 | WTC memory leak occurs when the Tuxedo side defines unconnected local domain. Now, the memory leak in some connection-termination error scenarios is absent and clean-up logic is implemented.
CR202460 | When all ExecuteThreads in WLS are busy waiting for replies in weblogic.iiop.SequenceRequestMessage.waitForData, WTC requires at least one more thread to process replies. In this situation, the server is simply blocked forever. Now, the reply is processed by bypassing the thread allocation and directly passed to the IIOP layer.
CR208701 | WTC tBridge causes CLOSE_WAIT sockets on Sun Cluster with a firewall between WLS and Tuxedo. WTC tBridge opens a connection to the firewall and the firewall cannot access Tuxedo because Tuxedo is not booted. The WTC connection stays open in CLOSE_WAIT state. The socket connection now closes properly.
CR212218 | WTC does not detect network errors between WTC and Tuxedo. WTC waits for the blocking timeout and eventually throws a TPETIME exception. Now WTC behaves like Tuxedo and throws a TPESYSTEM exception to client programs when the connection goes down.
CR213232 | WTC Domain level failover fails to work if ConnectionPolicy is set to ON_DEMAND for WTCLocalTuxDom and ON_STARTUP for WTCRemoteTuxDom. Remote connection policy overrides the local connection policy when appropriate.
CR216682 | Unexpected rollbacks were encountered when calling a remote CORBA object from within an EJB with a trans-attribute of RequiresNew. Now, CORBA WTC XA resources are allowed to be suspended and resumed correctly.
CR223488 | WTC automatic retry causes thread to hang when network error occurs. Now, when a connection is in progress for one remote domain, it is not included in the list of remote domains available for a given service.
CR228745 | When tpacall() is executed from a Tuxedo 8.1 client with the TPNOREPLY flag set, WTC returns a reply despite the flag setting. This problem leads to degraded performance. Now, no reply is sent when the TPNOREPLY flag is passed in inbound requests.
CR236066 | WTC unable to map CORBA::UserException over WTC. WTC now injects a reply message with TPSVCFAIL and user data into the RMI subsystem.

## XML

####

Change Request Number | Description
--- | ---
CR158523 | On UNIX, when a private registry is published using uddiexplorer, the following error no longer occurs: `An error has occurred E_fatalError(10500): a serious technical error has occurred while processing the request. 'null[LDAP: error code 65 - Object Class Violation]'`
CR187425 | If the MBean Definition File (MDF) name is multibyte characters, WebLogic MBeanMaker no longer throws a `java.net.MalformedURLException` when generating the MBean type.
CR203364 | WebLogic Server no longer throws a `NullPointerException` in Xerces when using JAXP DocumentBuilder multiple times.
CR205549 | JavaServer Faces, a Web Application framework that accomplishes the Model-View-Controller (MVC) paradigm, provides a free implementation called myFaces. When trying to use myFaces, WebLogic Server was throwing the following exception upon startup: `Cannot load Implicit TLDs java.lang.NullPointerException` Now, myFaces is able to load implicit tag library descriptor (TLD) files and the exception is no longer thrown.
CR215016 | When doing lookup of DTDs over HTTP from a central Web server, if the URL failed (that is, if the Web server was down momentarily), the XML registry did not renew the DTD in the cache and failed each time the DTD was used. Now, the XML registry renews the DTD in the cache, which resolves the problem.
CR215842 | When filtering XML messages using `JMS_BEA_SELECT()`, WebLogic Server no longer throws an `XMLStreamException` if the XML fragment in the message includes an attribute.