Below are the issues resolved in each of the previous service pack releases. Service Packs are cumulative, so all of the issues listed below have been addressed in the latest Service Pack.

  Service Pack 1
  Service Pack 2
  Service Pack 3
  Service Pack 4
  Service Pack 5
  Service Pack 6
  Service Pack 7
  Service Pack 8

### Service Pack 1

- ISSUE 9488/9459/9512: Fixed a problem with clients not registering sockets correctly
- ISSUE 9665: Fixed session ID length problem so that it may be modified by session.sessionIDLengthURL
- ISSUE 9731: Fixed an IOExecption in SSL
- ISSUE 9737 & 10117: Fixed a problem with Verisign's global server id
- ISSUE 9879: Fixed a problem with NoSuchObjectException being thrown under concurrent entity access
- ISSUE 9902: Fixed a problem with ejbc and spaces in the classpath
- ISSUE 9936: Fixed a problem with debug messages being printed by default in servlets and socket communications
- ISSUE 9999: Fixed a post-compilation problem with postStoreGeneration (additional details)
- ISSUE 10032: Fixed a problem with rolling back transactions immediately which have been marked for rollback
- ISSUE 10132: Fixed an IOException exception that was being raised in FileServlet when serving multiple requests
- ISSUE 10138: Fixed a problem with some broken casts in the JDBC20 jts driver
- ISSUE 10149: Fixed a problem where debuggers were not notified of dynamic class loads
- ISSUE 10159: Fixed the rewriting of empty tags and namespaces which caused problems for XSL in combination with JSP
- ISSUE 10170: Fixed a problem with WebApp formauth
- ISSUE 10173: Fixed a problem with server-side stub clustering
- ISSUE 10175: Fixed a problem where an entire JSP file within a tag extension caused the compilation to fail
- ISSUE 10186: Fixed a problem with runtime evaluated attributes failing to compile when %lt;%=%%gt; is used instead of <%=%> for XML compliance
- ISSUE 10194: Allowed for isolation to be set in Session and Bean Managed Entity Beans
- ISSUE 10214: Fixed a problem with encoding when dealing with post data that is a form
- ISSUE 10340: Fixed a rebuild problem with taglib/jsp

### Service Pack 2

- ISSUE 8463: Fixed a problem where ejbc silently accepted the lack of a weblogic-ejb-jar.xml file
- ISSUE 9282: Fixed a problem with EJB deployer element detail view not tracking the selected element correctly
- ISSUE 9665: Fixed a problem with our URL rewrites making it tough for WAP phones
- ISSUE 9692: Fixed a problem with getting a java.lang.ArrayIndexOutOfBoundsException when deploying EJB
- ISSUE 9945: Fixed a problem in the console after peer gone encountered by a cluster member
- ISSUE 9997: Fixed a problem with EJB Wizard throwing an exception when loading a jar file
- ISSUE 10027: Fixed EJB1.1 compliance check to allow transient Context in Entity Beans
- ISSUE 10054: Provide row locking for finders to simlulate pessimistic locking
- ISSUE 10071: Fixed a problem with hot deploying a servlet in the Console
- ISSUE 10110: Fixed a problem with allowing access to EJBC compiler options
- ISSUE 10120: Fixed a problem with ambiguous homes not doing user selections
- ISSUE 10121: Fixed a problem with incorrect path to javac in the deployer tool
- ISSUE 10143: Fixed a problem with jhtml
- ISSUE 10172: Changed session-timeout from web.xml to minutes (converts to seconds)
- ISSUE 10189: Fixed a problem with console assuming t3s port being the t3 port erroneously
- ISSUE 10190: Fixed a problem with missing remote interface class not being properly reported
- ISSUE 10245: Fixed registering of weblogic.servlet.utils.ServletStartup failing to recognize the servlet alias name
- ISSUE 10257: Fixed a problem with JMS ObjectMessage.getObject returning null when called from server side code
- ISSUE 10258: Fixed a problem with StreamMessage throwing an exception on read when used in an EJB or servlet
- ISSUE 10262: Fixed an ArrayIndexOutOfBoundsException which was occurring during deployment
- ISSUE 10264: Fixed a problem with tx isolation level not having corresponding xml writing classes
- ISSUE 10279: Fixed a problem with an assertion error being thrown when certain files are added to the jar
- ISSUE 10283: Fixed a problem with timing out of read-only beans
- ISSUE 10294: DDConverter should just do the simple thing when mapping roles to principals
- ISSUE 10323: Improved documentation for LogOutputStream (replacement for LogServicesDef)
- ISSUE 10331: Fixed a problem with descriptors not being created early enough in the Provider project
- ISSUE 10334: Fixed a problem with setSessionContext not being called if initial-beans-in-free-pool is set to some value greater than 0.
- ISSUE 10348: Fixed a problem with MM:EndLock not being generated for useBean tag
- ISSUE 10360: Fixed a problem with RDBMS Deployer UI not holding container managed field mappings
- ISSUE 10368: Fixed a problem with the POSIX socket muxer losing threads
- ISSUE 10381: Fixed a problem with messed up headers to the browser from NSAPI plug-in causing problems with IE5
- ISSUE 10384: Fixed a problem with the CMP finders which return Collections not working correctly
- ISSUE 10385: NFS is no longer required for EJBs to work in a clustered environment
- ISSUE 10417: Fixed problem with EJB Deployer and the save menu item
- ISSUE 10546: Fixed a problem with finding taglibs if the home is different from current dir

### Service Pack 3

- ISSUE 5352: Fixed a problem with the DOCTYPE flag in weblogic.html.FrameSet
- ISSUE 6756: Fixed a problem with servlet sessions timing out in 3600 seconds although getMaxInactiveTimeInterval method returns -1
- ISSUE 7462: Fixed a problem with large number of jms topic subscribers causing problems with the server
- ISSUE 8547: Fixed problem with EJBJarLoader unable to export eo's parameters to server classloader
- ISSUE 9765: Removed BETA message from JDBC Solaris OCI and NT.
- ISSUE 9864: Fixed problem with Dynamic classloader not loading exception classes of parent of Remote Interface
- ISSUE 9994: Fixed problem of Message.setJMSDeliveryMode(DeliveryMode.PERSISTENT) not persisting the message
- ISSUE 10073: Fixed a problem with JSP java file naming convention
- ISSUE 10077: Fixed a problem with the JTS driver assuming JDBC 1.0 when deferring to the pool driver weblogic/jdbcbase/jts/Driver.class \
- ISSUE 10144: Fixed problem with EJB classloader not loading user defined utility classes.
- ISSUE 10147: Fixed a problem with using multiple threads to send queue messages. Messages would get crossed across queues in JMS in 5.1
- ISSUE 10154: Fixed a race condition in JMSMessageConsumer.receive
- ISSUE 10235: Fixed a problem with pages that don't require auth in a webapp returning null for a logged in user
- ISSUE 10248: Fixed some connection problems
- ISSUE 10268: Fixed a problem using POST with form based authentication in servlet 2.2
- ISSUE 10308: Fixed a problem with receiving assertion errors from MBuf.getHeader in ConnectionManagerLocal
- ISSUE 10320: Fixed a problem with case sensitivity and tagexts
- ISSUE 10327: Fixed the NoClassDefFoundError problem when deploying EJB
- ISSUE 10431: Fixed a problem with compliance check complaining if you have a no-arg constructor and another constuctor
- ISSUE 10524: Fixed problem with JSP's unable to load resource bundles
- ISSUE 10529: Fixed a problem with ejbRemove not running correctly in a transaction
- ISSUE 10546: Fixed a problem with finding taglibs if the home is different from current dir
- ISSUE 10550: Fixed a problem where deploying a WAR file was masking servlet calls with a call to the file servlet
- ISSUE 10563: Fixed a problem with stateless instances not being returned to freepool after app exception
- ISSUE 10594: Extended weblogic.servlet.security.ServletAuthentication to use sessions to store AuthUser
- ISSUE 10608: Fixed a problem with the deployer tool filtering out methods from Home and Remote super-interfaces
- ISSUE 10610: Fixed a problem with with the plugin having the ability to disable failover with "connection reset"
- ISSUE 10664: Fixed the problem of RequestDispatcher.forward() breaking on hitting the browser back button.
- ISSUE 10678: Fixed a problem with ServletRequest.getServerPort returning 7001 if no port is specified, when it should be returning 80
- ISSUE 10680: Fixed a problem with the Apache plugin. If setting multiple cookies, only the first one gets set.
- ISSUE 10730: Fixed problem with Form based authentication sending redirects to the client.
- ISSUE 10741: Made compliance checker message clearer
- ISSUE 10758: Fixed a problem with the ACL's on Windows NT.
- ISSUE 10762: Fixed a problem with stateless beans created on server startup not having the jndi environment set
- ISSUE 10786: Fixed the security problem with RequestDispatcher.forward(request, response)
- ISSUE 10794: Fixed problems with FileServlet unable to handle EBCDIC pages on USS390 and Error Pages, like 404 not being encoded properly on USS390.
- ISSUE 10826: Fixed a problem with *.abc mapping correctly in URLHelper
- ISSUE 10885: Fixed a problem with apache plugin, the 401 Error code was not being propegated back to the client
- ISSUE 10895: Fixed finder code for ejbLoad so that it is only generated when needed
- ISSUE 10897: Fixed a problem with finder code generation

### Service Pack 4

- ISSUE 9029: Fixed problem that use weblogic.system.DNSname with Weblogic Server acting as proxy of Weblogic cluster.
- ISSUE 9161: Fixed problems with logging in Http and also preventing JVMID.toString doing a reverse DNS Lookup.
- ISSUE 9213: Dynamic load-balancing algorithm in WL cluster proxy may be broken.
- ISSUE 9341: JSP's will now include and check version information in compiled JSP's.
- ISSUE 9536: Fixed problem with NSAPI Failing to load balance with load balancer and fire-wall.
- ISSUE 10228: Certified Apache with Covalent's Raven(SSL Module).(additional details)
- ISSUE 10368: Fixed the problem with POSIX socket muxer losing threads
- ISSUE 10399: Rebuilt Apache plugin with the EAPI patch to support Raven(SSL).(additional details)
- ISSUE 10428: Certified C-2.net stronghold 1.3.12 with Apache plugin.(additional details)
- ISSUE 10465: Fixed problem with HttpClusterServlet failover has problems with primary/secondary servers situation.
- ISSUE 10546: Fixed a problem with finding taglibs if the home is different from current dir.
- ISSUE 10642: Fixed problem with HttpClusterServlet going into an infinite loop and tie up a thread.
- ISSUE 10659: Retired T3 JDBC Driver.
- ISSUE 10679: Fixed a problem with setCookie issuing and a res.sendRedirect is issued after, the cookie is never set.
- ISSUE 10787: Fixed problem with WAP and UTF-8 support not working with 5.1 with and without SP1.
- ISSUE 10807: Fixed problem with ASSERTION FAILED getServlet() returning null.
- ISSUE 10893: Updated JSP code to use new session get/set API to prevent deprecated method calls.
- ISSUE 10894: Fixed a problem with incorrect reference to a *.jsp causing Netscape/Internet Explorer to popup file download.
- ISSUE 10927: Fixed setMaxInactiveInterval() NPE when ReplicatedSession is used.
- ISSUE 10961: Modified server's timing as heart beats are not being processed in time.
- ISSUE 10986: Certified Apache plugin with Raven 1.4.3/Apache 1.3.12.(additional details)
- ISSUE 11017: Fixed problem with plugins returning double Content-Type headers for JSP pages for 510SP3.
- ISSUE 11019: Fixed problem with Home interfaces not being inherited.
- ISSUE 25483: Fixed an error relating to multi object finders and complex primary keys in RDBMS CMP code generation.
- ISSUE 30881: Fixed problem with jsp precompiler not accepting certain formats of attributes.
- ISSUE 31317: Fixed the problem with Apache plugin not working properly using VirtualHosts.
- ISSUE 31397: Fixed problem with NSAPI plugin sending two host headers to WebLogic.
- ISSUE 31491: Fixed the problem with looking for session ID in parameters if weblogic.httpd.session.URLRewriting.enable=false and also adding another host when processing WL-Proxy-SSL.
- ISSUE 31492: Fixed the problem with Jolt session pool not providing a mechanism to set RECVTIMEOUT. (additional details)
- ISSUE 31500: Fixed the problem with the compliance checker by prohibiting declation of methods that return com.sun.java.util.collection.
- ISSUE 31503: Fixed the problem with read-only entity beans refreshing when dbIsShared is set to true.
- ISSUE 31532: Implement features that are available in NSAPI/ISAPI plugin in HttpClusterServlet
- ISSUE 31557: Fixed the ClassCastException obtained by using JAXP with EJB.
- ISSUE 31575: Cluster containing many EJBs will cause multicast problems

### Service Pack 5

We have changed the format of our service pack release notes to group issues by sub-categories. The following areas have had changes:
  Clustering
  EJB
  JSP
  Plug-ins
  RMI
  Servlets
  Miscellanous
Clustering Issues:

- ISSUE 30924: Enhanced timeout in ClusterManager and fixed a problem with servers not shutting down.
- ISSUE 31822: Added the option to have SSL between the WebLogic Server proxy and the cluster. (additional details)
- ISSUE 32054: Improved log notification when a server is aware of other servers in the cluster.
- ISSUE 32158: A problem involving the HTTPClusterServlet entering an infinite loop was solved.
- ISSUE 32309: Fixed a rare problem with the dispatch in-thread pattern resulting in a deadlock (additional details).
- ISSUE 32951: The connection to the cluster server should be closed if the client's connection drops.

EJB Issues:

- ISSUE 29726: Home methods obey transaction attributes and ACL settings for create and remove (not find).
- ISSUE 30334: EJB Client to Stateful session bean gives different results with the Java application client than with the Servlet client.
- ISSUE 30911: Fixed a problem with transaction and security attributes on EJBHomes.
- ISSUE 31322: Fixed a problem where a Rolledback Transaction would cause the EJB container to rollback subsequent EJB method calls.
- ISSUE 31724: The ability to DEBUG has been added for customers who wish to monitor their EJB cache.
- ISSUE 31736: Fixed a problem with doing multiple finder calls in a single transaction.
- ISSUE 31801: We now print a better diagnostic message if the hashCode or equals method in the primary key class is misimplemented.
- ISSUE 32065: In WebLogic-EJB-jar.xml a bug was fixed where the transaction-descriptor was not being outputted.
- ISSUE 32156: Read-only entity beans with a read-timeout of 0 now have ejbLoad called only when they are brought into the cache.
- ISSUE 32253: Fixed a problem with the transaction-descriptor not being outputted in weblogic-ejb-jar.xml.

JSP Issues:

- ISSUE 30406: Altered JSP Java File convention. We have reverted to prepending an underscore to generated file names.
- ISSUE 31584: Fixed a problem compiling with JSPC.
- ISSUE 31758: Changed the RequestDispatcher and how request parameters are forwarded to other servlets/JSP's.
- ISSUE 31854: ClassNotFoundException thrown when beanName="<%= SomeStringvalue %>" is specified in jsp.
- ISSUE 31968: Addressed a problem with JSP and the page context object not being initialized correctly.
- ISSUE 32037: Now, outside users are unable to see the code of the JSP by prepending the path leading to the JSP with *.html.

Plug-in Issues:

- ISSUE 28929: Added the ability to Debug NSAPI/ISAPI/ASAPI plug-ins.
- ISSUE 31034: Apache plug-in is now available for HP platforms.
- ISSUE 31315: WebLogic now supports proxying by path for IIS.
- ISSUE 31317: A per-server-config in mod_weblogic.c has been added to support virtualhosting with the Apache plug-in.
- ISSUE 31719: Fixed a problem with NSAPI failing on large uploads.
- ISSUE 31878: Fixed a problem with Apache failing on large uploads.
- ISSUE 32053: Plug-in Shared library built on AIX433 for NES4.0.
- ISSUE 32132: Two files were added (mod_wl_ssl.so and mod_wl_ssl_raven.so) for Apache installations on Linux.
- ISSUE 32133: There is now a new property, DefaultFileName, for all plug-ins.
- ISSUE 32136: ErrorPage functionality for the Apache plugin was improved.

RMI Issues:

- ISSUE 30527: Fixed weblogic.rmi.NoSuchObjectException: RemoteInvokable while using JMS.
- ISSUE 32142: The host2ior was not returning the correct IOR with WebLogic Service Pack 3. This has been fixed.
- ISSUE 32222: The server was exiting with an IncompatibleClassChangeError in VisualAge VM

Servlet Issues:

- ISSUE 22854: See Issue 32184
- ISSUE 30464: Fixed a bug in the handling of the If-Modified-Since field in the HTTP header which was causing an IOException.
- ISSUE 31213: If Header is not formed correctly a 400 error code is now sent.
- ISSUE 31575: A new multicast property ("weblogic.cluster.multicastSendDelay") which handles the buffer overflow properties has been added.
- ISSUE 31775: Extensions can now be stripped when setting the trimExt property in the INIT argument to the cluster servlet--in the WebLogic properties file.
- ISSUE 32184: Improved checkAForm state management.
- ISSUE 32265: Added javadoc of weblogic.servlet.security.ServletAuthentication.
- ISSUE 32270: Updated form-auth state management.
- ISSUE 32271: It is no longer necessary to specifically grant access to loginpage and errorpage.
- ISSUE 32272: Servlet request parameters are currently being converted to EBCDIC on the USS390 Platform resulting in garbled parameters when processed by application servlet.

Miscellaneous Issues:

- ISSUE 30410: Remove driver manager calls to avoid deadlocks in JDBC Store.
- ISSUE 30542: Invoking an HTML file which had only two links, an error was being generated on the server side.
- ISSUE 30674: Fixed directory listings not working in WebLogic Server 5.1.0 for sub-directories below the doc-root.
- ISSUE 30944: The setObject method was passing an object reference instead of object copy..
- ISSUE 30986: The invalidation trigger is now scheduled based on weblogic.httpd.session.invalidationIntervalSecs property.
- ISSUE 31360: Now, during one phase commit failure, rollback transaction releases locks on other entities.
- ISSUE 31523: Fixed up cert-based authentication in webapps and the use of the CertAuthenticator interface.
- ISSUE 31551: Fixed an issue with spacing in URL filenames.
- ISSUE 31599: During hot deployment, undeploys are now logged to the weblogic.log.
- ISSUE 31692: Fixed a NullPointerException on getting InitialContext successively from a cluster.
- ISSUE 31801: We now print a better diagnostic message if the hashCode or equals method in the primary key class is misimplemented.
- ISSUE 31843: Added error checking to Durable Subscribers in JMS.
- ISSUE 31853: Wlconfig has been updated to fix some problems setting to the jre installation.
- ISSUE 31868: Fixed ConcurrencyModificationException.
- ISSUE 31877: Allows for the user id and referred url to be seen from the error page. (additional details)
- ISSUE 31884: Issues with CookieSetMaxAge.
- ISSUE 31915: Welcome.jsp in a protected area can be accessed without having to enter a username/password.
- ISSUE 31943: Fixed expression constructor so longProperty will work.
- ISSUE 32060: Plug-in Shared library built on AIX433 for NES3.6.
- ISSUE 32061: Oracle type 2 driver-native binary shared lib build for lcuw2 (UnixWare).
- ISSUE 32063: Oracle type 2 driver-native binary shared lib build for lcaix9 (with AIX432).
- ISSUE 32092: Error handling for long URIs.
- ISSUE 32174: Location tags embedded in VirtualHost tags have been fixed to correctly work with the apache plug-in.
- ISSUE 32193: Fixed a problem specific to Service Pack 4 concerning FORM based authentication when using a webapp.
- ISSUE 32806: In HTTP logging, if a log rotation's begin date has past, DAY_OF_WEEK should only be used in setting a new date if the rotation time period is greater than a week(addtional details).
- ISSUE 33036: A user ID authenticated using forms-based authentication is not propagated to the EJB container.

### Service Pack 6

The following areas have had changes:
  Clustering
  EJB
  JMS
  JSP
  Plug-ins
  RMI
  Servlets
  Miscellanous
Clustering Issues:

- ISSUE 32603: Fixed a problem with HttpSessionBindingListener not working in a cluster using in-memory replication.
- ISSUE 34627: Now we ignore case when checking secureProxy parameter in HttpClusterServlet

EJB Issues:

- ISSUE 30857: Fixed bug where Application Exceptions were causing the bean to be deleted. The Bean is being deleted after an AppException and subsequent calls cause a NoSuchObjectException to be thrown.
- ISSUE 32495: TransactionManager now implements Serializable.
- ISSUE 33289: When the EJB server had been running for some time, it was running out of file descriptors. This has now been fixed.
- ISSUE 33372: Fixed bug in the compliance checker which allows primary key class of java.lang.Object to work.
- ISSUE 34074: There was a thread synchronization problem that has been fixed.

JMS Issues:

- ISSUE 27890: With an extremely large number of active durable subscribers the server was hanging. There was a problem with the server running out of execute threads.
- ISSUE 30351: When JMS was being used indirectly through an EJB, the JMS connection was having a problem; closing itself down after the caller that invoked the EJB first shuts down. ed min
- ISSUE 30485: Fixed a race condition in JMSMessageConsumer. There was a problem with the server hanging when sending PTP messages.
- ISSUE 31943: Selector's with compound expressions (specifically with long values) were not working.
- ISSUE 32634: Dealt with some minor JMS DataBase improvements. An extra database hit was being implied for every 16 message's message id's. This has been fixed.
- ISSUE 33227: To prevent the JMS server from failing from unusual client behavior, we now prevent messages from being sent/published when more than 75% of the server memory is used up.
- ISSUE 33794: All TxContext objects being serviced by a single static coordinator.
- ISSUE 34255: NullPointerException was occuring when trying a getMessage() on a message pointer cursor.
- ISSUE 34630: This change modified JMS initialization.

JSP Issues:

- ISSUE 30900: We now have JSP caching tags. For more information, see our online docs
- ISSUE 33320: There is now the ability to turn on/off HTTP Tunneling. The property weblogic.httpd.tunnelingenabled should be set to true to enable http tunneling. By default it is set to false.
- ISSUE 31384: Using request.getSession(false) when there is no current session was creating a new session.
- ISSUE 32258: Fixed jsp/plugin syntax(added 1.1 syntax)plus added translation time expression capabilities for plugin applet-parameters

Plug-in Issues:

- ISSUE 032769: Fixed a problem with req.getRemoteAddr() returning the ipaddress of the proxy servers when the requests come via proxy servers.
- ISSUE 031389: Fixed a problem with the iisproxy.dll not finding the location of the iisproxy.ini in the registry.
- ISSUE 032133: There is a new parameter, defaultfilename, for all plug-ins. (see additional details)
- ISSUE 033909: IIS users may now proxy by path. See WebLogic's Isapi documentation for more detail
- ISSUE 033343: Load balancing has been improved with WebLogic plug-in's support of multiple clusters.

RMI Issues:

- ISSUE 34628: Even when invoked with the -idlNoValueTypes flag."rmic -idl" would still generate some valuetypes.

Servlet Issues:

- ISSUE 30648: Now it is possible to associate a character set to a mimetype (additional details)
- ISSUE 31292: The relative URL's ./ and ../ were not working with jsp pages. Basically this was caused by the JspStub reinterpreting the URI->JSP filename incorrectly.
- ISSUE 32058: This fix re-enables reporting of servlet exceptions.
- ISSUE 32104: Debug messages have been turned off in weblogic.servlet.internal.session.ClusterSessionJDBC.
- ISSUE 32120: Some classes used in our class loaders would generate class circularity errors. This is now fixed.
- ISSUE 032157: When the startup servlet was fully initialized the invalidation trigger would start and try to invalidate the existing sessions. This was causing NullPointer exceptions and has been fixed.
- ISSUE 32409: The servlet engine was losing the post parameters if the servlet was getting an input stream--even if it was reading nothing.
- ISSUE 32708: This fixes an issue where the originally requested URI was included by the FileServlet, instead of the intended include URI.
- ISSUE 32859: In order to make the JSP respect empty string query parameters, now add the initParameter "setEmptyStrings=true" to the JSPServlet registration.
- ISSUE 32873: When the CGI servlet was initiated in a Japanese environment (Windows NT 4.0), it was displaying corrupt strings.
- ISSUE 32935: This fixed a problem with Brazilian accented characters when the output is larger than 8k.
- ISSUE 32953: An error occurred when attempting to deploy the cookie war file example with WebLogic Server 5.1 using sp4 and sp5. This has been fixed.
- ISSUE 33887: Tag library performance suffered due to incorrect specification interpretation. This has been fixed.
- ISSUE 33775: Users were losing authentication status after their request. Now users using weblogic.serlvet.security.ServletAuthentication are valid for the length of their session.
- ISSUE 33773: We now accept extended HTTP 1.1 methods.
- ISSUE 33887: Tag library performance suffered due to incorrect specification interpretation. This has been fixed.
- ISSUE 34212: Removed unnecessary messages printed to weblogic.log when a http resource could not be found.
- ISSUE 34307: All .class and generated .java files in .war files are protected.
- ISSUE 34631: This change is to make environment properties which are set up in web.xml work in init() and destroy() methods of Servlet interface.
- ISSUE 34633: Fixed compiler message parser so that non-standard messages are still returned to browser.
- ISSUE 34634: Now web.xml files should reference Web Application 2.2 in their public id (as per the spec).
- ISSUE 34635: Request dispatching between web applications now works as specified.
- ISSUE 34703: Made write method non-final to extend the functionality of ServletOutputStream, if it is overridden.
- ISSUE 34737: Added handling of the old public ID. Now we print a warning if the old public ID is found.
- ISSUE 34836: We have fixed the XML servlet examples to set content type text/xml. This had to be changed to accomodate alterations to the Servlet engine in behavior of reading raw post data.

Miscellaneous Issues:

- ISSUE 28155: Fixed a bug in adjusting the round trip time for getting the server time from the client.
- ISSUE 29085: JDBC drivers need to workaround new synchronization in DriverManager.
- ISSUE 30473: There was a problem with the jts driver doubly registering statements to close. This has been fixed.
- ISSUE 30768: Fixed a problem with NTRealm not authenticating if Primary Domain Controller is different other than "." . (see additional details)
- ISSUE 30839: Java mail is functioning. We now ship the files that set up its defaults. These are in the service pack jar.
- ISSUE 31335: Fixed a bug in NTRealm authentication where the system user from the NTRealm is not authenticated. (see additional details)
- ISSUE 31490: Fixed bug in various JDBC 2.0 calls.
- ISSUE 31735: In pre-5.1 versions of WebLogic, calls to T3Services.getT3Services() would just return null. In 5.1 (sp3) it began causisng an NPE in RJVMManager. This has been fixed.
- Issue 32204: All calls to the method DriverManager.getConnection() were removed. The method that is currently used is Driver.connect(). This was done to enhance performance.
- ISSUE 32313: Now users can pass non-javac specific arguments to the compiler--if they use -J.
- ISSUE 33244: Messages processed by server session pools were not being acknowledged properly causing messages to reappear even though the they had already been acknowledged. This bug only affected server session pools receiving messages from queues.
- ISSUE 33258: Sun's ldap does not work with Microsoft Site Server 3.0. There is now a work-around for this problem.(additional details)
- ISSUE 33081: This fixes a problem created by Service Packs 3 and 4. When a dependency class of the EJB has a primitive array cast, EJB deploy fails, throwing a NPE.
- ISSUE 33633: This fixes an issue where an existing parameter name is augmented for an included servlet. Previously the parameter remained augmented when returning to the parent servlet from the included servlet.
- ISSUE 33794: A bug allowed all TxContext objects (ie, all transactions on a particular server) to be serviced by a single static coordinator. This fix now allows one coordinator per UserTransaction per server.
- ISSUE 34074: Under heavy load users were getting messages with "Expected content length 1000 bytes," when they were only reading -1 bytes messages from the WebLogic Proxy server. This has been fixed.

### Service Pack 7

The following areas have had changes:
  Clustering
  EJB
  JMS
  JDBC
  JSP
  Plug-ins
  RMI
  Servlets
  Miscellanous
Clustering Issues:

- ISSUE 32952: Fixed a potential deadlock while deserializing the transaction context.
- ISSUE 34108: Fixed http tunneling to work in a WLS cluster. Ensured that tunneled requests always return to initial cluster node.
- ISSUE 34478: In a cluster requiring two way ssl the cluster servlet does not propogate the certs.This has been fixed.

EJB Issues:

- ISSUE 26354: When starting a client-demarcated transaction and calling a business method within that transaction, the business method was throwing a RuntimeException. This has been changed so that the server now marks the transaction for rollback and throws a TransactionRolledBackException to the client.
- ISSUE 29007: Now there is optimization for BMP entity beans so that findByPrimaryKey does not go to the database if the Primary Key is already in the cache.
- ISSUE 30649: The line, <enable-call-by-reference>False</enable-call-by-reference> in the weblogic-ejb-jar.xml was causing a ClassCastException when the server was trying to instantiate a stateless EJB in the startup class.
- ISSUE 30679: Fixed a problem where multiple calls to FindyByPrimaryKey occurring within the same transaction caused multiple calls to EJBLoad
- ISSUE 30700: With stateless session beans, calling get EJBObject on the context was falsely returning null.
- ISSUE 30841: After the transaction has rolled back and in a subsequent call, the server hangs when the client calls a stateless session bean. This happens as the server attempts to find an associated bean from the first transaction.
- ISSUE 30895: Now the compliance checker gives an error message if the primary key class doesn't implements Serializable.
- ISSUE 31202: A "-user" option has been added for weblogic.deploy tool. This was added because of a problem with Hot Deploy not working if weblogic.system.user was used to change the system user. See our EJB docs at www.weblogic.com/docs51/classdocs/API_ejb/EJB_reference.html for more information.
- ISSUE 31598: The name of a deployed unit was being reserved for the lifetime of the server even though it should have been free to be used once it was undeployed. Now the server removes the names of undeployed units.
- ISSUE 31699: If security-role and security-role-ref tags are specified in the ejb-jar.xml file, the server was throwing a NullPointerException. This has been fixed.
- ISSUE 31839: Fixed a problem with BigDecimal not working as a primary key type.
- ISSUE 32186: Now, the server throws an error message if the <method-param> or <finder-param> in the CMP finder description is not a fully-qualified Java name.
- ISSUE 32275: From a Bean Managed Tranaction Session Bean getRollbackOnly was being called. This violates the EJB 1.1 specification and has been fixed.
- ISSUE 32674: In the weblogic-cmp-rdbms-jar.xml file, <finder-list> and <options> are now optional tags and no longer generate errors if they are absent.
- ISSUE 33207: While executing a stored procedure from a BMP Bean, ClassCastExceptions were occurring when casting the output of prepareCall method of Connection object with weblogic.jdbc.common. OracleCallableStatement
- ISSUE 33424: Fixed a problem deploying a containerManaged sample EJB on OS/390. Users weren't able to deploy an EJB built on an ASCII platform.
- ISSUE 33616: Fixed a problem with EJB's when using Security.verify on the client, when no realm structure exists.
- ISSUE 33786: Now the compliance checker gives an error message when both primary-key-class and primary-key-field are set.
- ISSUE 34016: Fixed a problem where users were unable to deploy EJB's with external XML parsers.
- ISSUE 34121: The wrong error message was being thrown in some instances when a CMP container managed Bean was starting a create operation within a session bean transaction.
- ISSUE 34651: The correct error message is now sent when CMP bean fields are private.
- ISSUE 35231: Fixed a bug whereby a session bean could not be removed if its caller was involved in a transaction.
- ISSUE 36462: The CMP EJB code was hardwiring JDBC 1.0 connections. This has been fixed.
- ISSUE 36671: Fixed a problem with WLS 5.1 Service Pack 6's EJB compiler. The compiler was not dealing properly with char attributes in a container managed entity bean.
- ISSUE 36851: With Service Packs 2-6, ejbLoad gets called twice on a call to findByPK with CMP read only entity EJB. It is now only called once.
- ISSUE 37173: The DDConverter was failing to convert the "persistentDirectoryRoot" property to "stateful-session-persistent-store-dir"
- ISSUE 37429: Transactions were not being rolled back when a system exception like RemoteException or EJBException is thrown.
- ISSUE 37782: The JNDI environment lookups were not working in the beforeCompletion and afterCompletion callbacks when the session bean was running in the caller's transaction.
- ISSUE 38592: When bound to the jndi tree, non-serializable objects such as javax.mail.MailSession were getting replicated to other servers in a cluster.

JDBC Issues:

- ISSUE 36269: Fixed a problem in JDBC with BigDecimals.
- ISSUE 39238: Fixed a problem in JDBC where pools were hoarding broken connections.
- ISSUE 39426: Fixed a problem when Oracle's thin driver returns a non-JDBC standard -8 value for TYPE with a ROWID column, causing DbKona to fail.

JMS Issues:

- ISSUE 28473: Fixed a bug with jms server objects getting garbage collected too soon.
- ISSUE 28881: When the server is out of execute threads, SessionState.close can deadlock as it puts a message to the messagesPublished queue.
- ISSUE 30023: Setting "weblogic.jms.tableNamePrefix" in the properties file results in all destID's=0. Now each message queue has a distinct destID.(See the New WebLogic Properties section)
- ISSUE 30351: If JMS is used indirectly through an EJB, the JMS connection will close itself down after the caller that invoked the EJB first shuts down. This has been fixed.
- ISSUE 32363: Fixed a problem in JMS. After sending a message, the client may retain and modify it without affecting the message that has been sent.
- ISSUE 33227: Added a new property: weblogic.jms.ignoreMemExhaustCheck=[true|false]. If set to true, the memory check is ignored and messages can be sent and published when 75% or more of the server memory is used up. When this property is set to false, the memory check is NOT ignored.(See the New WebLogic Properties section)
- ISSUE 35328: Fixed a problem when there were more servlet requests than the number of execute threads.
- ISSUE 35440: This change fixes some race conditions which led to message acknowledgements being lost.
- ISSUE 36196: Fixed a problem with the JMS connection pool when using setLong or setObject methods on a callable statement and passing in a Long object.

JSP Issues:

- ISSUE 30869: Added weblogic.jsp.windows.caseSensitive property. If set to true, jspc and JspServlet do not change to lower-case the name of the generated file. (See the New WebLogic Properties section)
- ISSUE 31324: JSP's that had their own propietary classloaders now will be able to notify debuggers of a servlet load.
- ISSUE 32764: Fixed a problem with JSP 1.1 setProperty and array values.
- ISSUE 33658: Fixed a problem with the <jsp:plugin> tag not functioning as expected.
- ISSUE 33781: A Duplicate method declaration: java.lang.String getServletInfo() error was occurring when the page info tag was set above the content type tag in a JSP page.
- ISSUE 33781: The pageContext.getAttribute(pageContext.REQUEST) was not working correctly with JSP 1.0; it was returning null.
- ISSUE 34540: Now we throw a FileNotFoundException if the called jsp is not in the docroot.
- ISSUE 34648: Jview wasn't compiling correctly a JSP with a directive to set the character encoding. This has been fixed.
- ISSUE 36865: JSPs were being recompiled even when they had been externally recompiled using weblogic.jspc. This has been fixed.
- ISSUE 36978: Fixed a problem with the jsp:setProperty parameter when set to an empty string. This has been fixed.
- ISSUE 37746: An error occurred when a Cascading Style Sheet (.css file) was requested that doesn't exist. Users were seeing their jsp pages being invoked twice.

Plug-in Issues:

- ISSUE 37035: Using NES plug-in with WebLogic Service Pack 5 and 6, NES was crasing on NT or starting a Core Dump on Solaris when doing an SSI Include. This has been fixed.
- ISSUE 37172: There was a problem when the RequestURI length was more than 2k for an apache plugin. Now the server supports up to 4k (in accordance to the Sun specification).
- ISSUE 37837: The Apache plugin now has the ability to proxy to different WebLogic Servers or WebLogic clusters based on Mime-Type.
- ISSUE 37873: The WebLogic plug-in wasn't fetching the client certificate from Apache servers when service pack 6 was installed on the WebLogic Server.
- ISSUE 37951: PathPrepend in <Files> tags did not work in Apache when using virtual hosting.
- ISSUE 37992: Removed the limit on setting the HungServerRecoverSeconds parameter for NSAPI and ISAPI.
- ISSUE 38018: Fixed a problem with Apache on Solaris 2.7. The ErrorPage directive was causing the Apache server to close the connection and return nothing.
- ISSUE 38118: Fixed a problem with the ErrorPage tag where user's could not get their own error page. This problem was only occurring with the mod_wl_ssl.so for Apache that was included with ServicePack 6.
- ISSUE 38377: Fixed a problem with weblogic.security.acl.CertAuthenticator and RDBMSRealm.
- ISSUE 38730: The query string was sometimes being lost when using ap_internal_redirect. This has been fixed.
- ISSUE 38832: Rebuilt the NSAPI plug-in for compatibility with Tru64.
- ISSUE 38995: Fixed a problem with requests getting routed to the wrong cluster. This was an issue with the Apache plugin when using Virtual Hosts, multiple clusters, and applications deployed on the clusters that use the same cookie name.
- ISSUE 39177: A new parameter has been introduced for Apache, DisableCookie2Server=[ON|OFF]" (default is OFF). If set to ON, the plugin will not use the server information in cookies. This fixes a problem with WAP devices that have a limitation using cookies. (See the New WebLogic Plug-in Parameters section)
- ISSUE 39341: Modified the behavior of buffering and rendering JSP's while using the Apache plug-in. Now we flush the buffer once data is recieved from the server.
- ISSUE 39411: Fixed a problem that was causing the NSAPI plug-in to crash.
- ISSUE 39673: When the header size is large the plug-ins were not properly handling the headers.
- ISSUE 39839: Some entries were missing from the third field in the access.log file when using IIS proxy. This has been fixed.

RMI Issues:

- ISSUE 32357: The WebLogic log was receiving harmless error messages that are now no longer reported when not necessary.
- ISSUE 36136: There was a problem with the setBinaryStream implementation in the RMI and T3 drivers. This has been fixed
- ISSUE 38050: Soft disconnect timeout RMI error messages are now more comprehensible.

Servlet Issues:

- ISSUE 29792: With Service Pack 6 installed and in a clustered environment, ValueUnbound was not working. This has been fixed.
- ISSUE 30298: Introduced a new property to signal which encoding to use for the input stream. The property is weblogic.httpd.inputCharset and it allows users to specify charset for the post parameter. See more information in the New WebLogic Properties section.
- ISSUE 30908: When there was more than one war file per directory, one would overwrite another. This has been fixed.
- ISSUE 31250: When a session servlet has timed out, it gets removed from the memory. However the corresponding row from the database was not being removed. This has been fixed.
- ISSUE 32058: Now the server supresses certain 'Servlet failed with Exception java.net.SocketException: Connection reset by peer: socket write errors'.
- ISSUE 32268: There was a problem fixed with the customized errorPage not working when it was relative to the current request URI.
- ISSUE 33162: After invoking the servlet from a browser the HTTP responseheader was showing a garbled expiration date when users had set their regional settings to a Japanese (multibyte) environment. Now we use the right Locale for the DateFormat as per the HTTP spec.
- ISSUE 33624: Fixed a problem with sendRedirect not encoding the URL and losing the session.
- ISSUE 33642: Added a check to the protocol handler. If it detects that it is running inside an signed-applet javaplugin environment, it does not override the standard HttpProtocolHandler.
- ISSUE 33657: Invalid deployment of a Web Application was causing a NullPointerException and was also making the server crash. Now the server loads the general servlet context instead of doing System.exit(1), preventing crashes.
- ISSUE 33914: If you change the WebLogicSession cookie to some invalid value, such as 1, a NullPointerException was being thrown. Now the server checks the validity of the session cookie before using it.
- ISSUE 34044: The existing behavior of the errorPage directive has been enhanced.
- ISSUE 34224: If a user was accessing one web application, then another, the original session was being lost. This has been fixed.
- ISSUE 34306: When a servlet has a load-on-startup tag the server now instantiates the servlet on startup in the order given by the sequence number.
- ISSUE 34389: Escaping Quotes were not working in the value tag for JSP parameters. This has been fixed.
- ISSUE 34694: Fixed a problem with Solaris where lots of servlet calls on the cluster side were occurring using the HttpClusterServlet proxy.
- ISSUE 34859: Fixed a problem with HTTP Tunnelling causing the server to generate error messages.
- ISSUE 35161: HttpSessionBindingListener was not being called in a clustered web application.
- ISSUE 35169: Fixed a problem in web applications with form based authentication and the form-login-page.
- ISSUE 35589: Fixed a problem retrieving mime-type. Added new property, weblogic.httpd.unknownMimeTypeIsDefault=[true|false]. By default this is set to false.(See the New WebLogic Properties section)
- ISSUE 35953: Fixed a deadlock problem in the server. The deadlock was due to synchronization of two threads, one of which was waiting for the lock that the other was not releasing.
- ISSUE 36077: Added new abstract class, weblogic.servlet.security.AuthFilter.
- ISSUE 36499: The method getCreationTime() now throws a java.lang.IllegalStateException if the method is called on an invalidated session. This follows the servlet 2.2 spec.
- ISSUE 36563: The buffer was getting flushed after a RequestDispatcher include, even if it was not full.
- ISSUE 36769: Overrided the method getURLFile for HttpsClient, which was missing and causing the message: "Using 2 way authentication with a proxyHost, URL's were being truncated while going through the proxy".
- ISSUE 36827: Added a new property weblogic.httpd.session.neverReadPostData=[true|false] This prevents the server reading the post data in search of a SessionId. Anyone experiencing problems with missing POST data should try setting the the property to true. (See the New WebLogic Properties section)
- ISSUE 37070: HttpClusterServlet goes into infinite loop when failing over to secondary server. This has been fixed.
- ISSUE 37291: When the java weblogic.jspc command was used with -encoding UTF8, it generated a .java file in which the code is different from the generated java file on the same JSP, when this JSP is run in the WebLogic Server. This has been fixed.
- ISSUE 37698: Fixed a problem in JDBC where the java command utils.schema needed it's arguments set in an exact order. When changing the order, nothing was being recognized other than the verbose flag. Now the arguments can be placed in any order.
- ISSUE 37804: The implementation of form-based authentication for declarative security was not preserving the current HTTP session when cookies were disabled and all URLs were encoded. This has been fixed.
- ISSUE 37901: Fixed a problem with seesion timeouts and javax.servlet.http.HttpSession.setMaxInactiveInterval(0).
- ISSUE 38840: Now we use fully qualified URL's instead of relative URI's when redirecting to a login page. This fixes a problem with WAP gateways that do not accept partial URL's or URI's.
- ISSUE 38881: In cases where a directory structure is created for a session and no file is created in that directory, the invalidation trigger was not cleaning up the directory structure. This has been fixed.

Miscellaneous Issues:

- ISSUE 26207: There was a problem that was causing the server to display harmless 'SocketException: Bad file number' messages. This has been fixed.
- ISSUE 30826: A new property "weblogic.system.maxExecuteThreadCount" has been added to configure the maximum number of the threads the weblogic will support. This is the maximum the property "weblogic.system.executeThreadCount" will accept. This property is configurable both from client and server.(See the New WebLogic Properties section)
- ISSUE 30926: Fixed a problem with ldap and UrlAcl not finding groups.
- ISSUE 31598: The name of a deployed unit was being reserved for the lifetime of the server even though it should have been free to be used once it had been undeployed.
- ISSUE 32109: Using groups in the policy file does not work. This has been fixed
- ISSUE 32633: Fixed ClassNotFoundException. The path to 'weblogic.security.acl.DefaultRealmImpl' was incorrect.
- ISSUE 32806: Fixed a minor problem with the date based log rotation beginning time. Now the server only honors DAY_OF_WEEK in setting future date for rotation, when the date is already past.
- ISSUE 33642: This is a problem with the Sun plug-in and has been documented by Sun as Sun Bug 4149667. This fix is a work-around that added a check to the protocol handler.
- ISSUE 33669: Fixed a problem with mime-type being ignored by web-applications.
- ISSUE 33792: The contents of the ntrealm.properties file has been moved into the weblogic.properties file. The following property is now used: weblogic.security.ntrealm.domains=hostname1,hostname2 (See the New WebLogic Properties section)
- ISSUE 33866: Now we report the reasons for peergone messages better.
- ISSUE 34067: Enhanced the performance of LDAP realms. When the number of principals was growing, the performance of the LDAP realm was suffering significantly. LDAP realms have been improved. More information is provided in the HTML file 510sp8/SERVICEPACK8_README.html that is included with this service pack.
- ISSUE 34351: When running WebLogic Server as a Windows service, the HotSpot option of the JVM had to be turned off--it wasn't working using HotSpot Client VM Java 1.3 as NT service
- ISSUE 34358: Fixed a problem with Windows 2000, native IO and performance packs.
- ISSUE 34899: Fixed a problem with applet clients making t3s connections to the server.
- ISSUE 34907: Fixed error in routing logic when delivering exceptions.
- ISSUE 35012: The build date/time is shown for the native socket muxer libraries if weblogic.system.nativeIO.enable=true.
- ISSUE 36076: Fixed a problem getting thread dumps using Solaris with the JDK 1.2.1_04.
- ISSUE 36668: Fixed a problem with the weblogic.security.acl.CertAuthenticator working under the RDBMSRealm.
- ISSUE 36994: If the connection to the socket fails the server used to try to reconnect irregardless. Now the server throws an exception and terminates unnecessary initialization.
- ISSUE 37008: WebLogic Server was using a relative path in the "Location" HTTP response header. Now the relative URL is converted to an absolute URL before sending the response to the client.
- ISSUE 37781: This fixed a problem for users who wanted to use WebLogic Server clustering in a WAP environment and utilize HTTP Get or Post method by HTML FORMs to pass the JSessionId.
- ISSUE 37785: Fixed a problem on Alpha Tru64 5.0; now we provide a libweblogicunix1.so.
- ISSUE 38062: Fixed a recent problem with the performance pack for HPUX-11.
- ISSUE 38376: Added weblogic.httpd.WAPEnabled proprty (default to false). The plugin did not recognize sticky sessions when WebLogic Server was not clustered. This parameter determines whether or not we include the JVMID.(See the New WebLogic Properties section)
- ISSUE 38592: When bound to the jndi tree, non-serializable objects such as javax.mail.MailSession should not get replicated to other servers in a cluster.
- ISSUE 38833: Along with Issue 34067, this issue fixed problems and enhances performance with LDAP realms. More information is provided in the HTML file 510sp8/SERVICEPACK8_README.html that is included with this service pack.
- ISSUE 39233: Fixed a problem in JTS with maximum timeouts. The maximum size of the timeout parameter for setTransactionTimeout() was not taking MAX_INT.
- ISSUE 40022: Fixed a problem when classLoadNotify is non-null and the VM vendor is WebGain or Symantec.
- ISSUE 40026: When the server threw protocol exceptions it did not also include the URI so there was no way to know what had possibly caused the exception. This has been fixed.

## Release notes for WebLogic Server 5.1 Service Pack 8

- ISSUE 40416: Using https from a web browser was causing a BadMACException. This has been fixed.