# WebLogic Server 5.1 Service Pack 4 |  |
4. Contents Installation and removal instructions Installation Removal Release notes for Service Pack 4 Resolved issues Additional details on new plugin parameters Additional details on issue WebLogic_RDBMS.jar Known issues Miscellaneous issues and new items BEA WebLogic Enterprise Connectivity README ## Contents This service pack contains files that resolve issues pertaining to the released product. A detailed list of these issues is provided in this document. The service pack download is shipped as a .zip file (weblogic510sp4.zip) and contains: README.html (this file) README.txt images/bea_logo_small.gif bin/iisproxy.dll bin/proxy30.dll bin/proxy35.dll bin/proxy36.dll bin/oci734_7/weblogicoci36.dll bin/oci805_7/weblogicoci36.dll bin/oci805_8/weblogicoci36.dll bin/oci815_8/weblogicoci36.dll lib/linux/mod_wl.so lib/persistence/WebLogic_RDBMS.jar lib/solaris/libproxy.so lib/solaris/mod_wl.so lib/solaris/mod_wl_eapi.so lib/solaris/oci734_7/libweblogicoci36.so lib/solaris/oci805_7/libweblogicoci36.so lib/solaris/oci805_8/libweblogicoci36.so lib/solaris/oci806_8/libweblogicoci36.so lib/solaris/oci815_8/libweblogicoci36.so weblogic510sp4.jar weblogic510sp4boot.jar ## Installation and removal instructions ### Installation Read this document and the release notes. Unzip the contents of the service pack into a temporary directory, such as /temp. Copy weblogic510sp4.jar and weblogic510sp4boot.jar from /temp to a location where it can be referenced by your WebLogic Server installation. If you have installed WebLogic Server in its default location of /weblogic, then an appropriate place to copy the .jar file would be to the directory /weblogic/lib. If you are running the installation from a drive that is not writable, then you will need to copy the service pack jar to a directory outside of the installation, but whose path is accessible. The directory of the weblogic.properties file that you are using to start WebLogic Server is an alternative. Also, if the server is running under Java 2, the jar must be in a directory that has been made accessible in the security policy file. If you are using VisualAge, import both jars to your workspace, first weblogic510sp4.jar and then weblogic510sp4boot.jar. Add the path ofweblogic510sp4boot.jar to the beginning of the Java system classpath. Add the path of weblogic510sp4.jar to the beginning of the WebLogic classpath before you start the WebLogic Server:
         $ java ...
             -classpath c:\weblogic\lib\weblogic510sp4boot.jar;
             c:\java\lib\classes.zip;
             c:\weblogic\classes\boot;
             c:\weblogic\eval\cloudscape\lib\cloudscape.jar
             -Dweblogic.class.path=c:\weblogic\lib\weblogic510sp4.jar;
             c:\weblogic\classes;
             c:\weblogic\license;c:\weblogic\lib\weblogicaux.jar;
             c:\weblogic\myserver\serverclasses
             ... weblogic.Server
5. You can do this by editing the command line script that you use to start the WebLogic Server, as described in the Installation Guide, Setting up and Starting WebLogic Server 5.1. If you are running on NT and are using either the Start Menu commands or running as an NT Service, you need to use wlconfig.exe to set values for classpath, weblogic.class.path and JAVA_HOME. Save the current values of your configuration to a file before making changes in case you need to revert your changes:
         C:\> wlconfig > config.txt
   Include the weblogic510sp4boot.jar file at the start of classpath (to be entered on one line):
         C:\> wlconfig -classpath c:\weblogic\lib\weblogic510sp4boot.jar;
               c:\java\lib\classes.zip;
               c:\weblogic\classes\boot;
               c:\weblogic\eval\cloudscape\lib\cloudscape.jar
   Include the weblogic510sp4.jar file at the start ofweblogic.class.path (to be entered on one line):
         C:\> wlconfig -Dweblogic.class.path=c:\weblogic\lib\weblogic510sp4.jar;
               c:\weblogic\license;c:\weblogic\classes;
               c:\weblogic\myserver\serverclasses;
               c:\weblogic\lib\weblogicaux.jar
   Next, set JAVA_HOME to point to a JDK that you have installed, as the JREs that were shipped with the distribution do not support multi-byte character sets:
         C:\> wlconfig -JAVA_HOME c:\java117
6. The file lib/persistence/WebLogic_RDBMS.jar will need to be copied to your /weblogic/lib/persistence directory if you are developing or deploying EJBs, and are interested in resolving issues related to WebLogic_RDBMS.jar. To deploy the lib/persistence/WebLogic_RDBMS.jar, make a copy of the original to a safe location and then copy lib/persistence/WebLogic_RDBMS.jar from the service pack to replace the original file that you backed up in another location. For instance, if you installed WebLogic in /weblogic, here are the sample commands:
         $ cp /weblogic/lib/persistence/WebLogic_RDBMS.jar
        /weblogic/lib/persistence/WebLogic_RDBMS.jar.510
         $ cd /tmp
         $ jar xvf weblogic510sp4.zip
         $ cp /tmp/lib/persistence/WebLogic_RDBMS.jar
        /weblogic/lib/persistence/WebLogic_RDBMS.jar
7. The following files are also included in the service pack and are not Java class files. Therefore you need to manually copy them into their appropriate locations to use them. This is completely optional and files should only be copied if you are interested in resolving the corresponding issue. bin/iisproxy.dll bin/proxy30.dll bin/proxy35.dll bin/proxy36.dll bin/oci734_7/weblogicoci36.dll bin/oci805_7/weblogicoci36.dll bin/oci805_8/weblogicoci36.dll bin/oci815_8/weblogicoci36.dll lib/linux/mod_wl.so lib/persistence/WebLogic_RDBMS.jar lib/solaris/libproxy.so lib/solaris/mod_wl.so lib/solaris/mod_wl_eapi.so lib/solaris/oci734_7/libweblogicoci36.so lib/solaris/oci805_7/libweblogicoci36.so lib/solaris/oci805_8/libweblogicoci36.so lib/solaris/oci806_8/libweblogicoci36.so lib/solaris/oci815_8/libweblogicoci36.so For each of these files you can follow the same procedure for deployment. As an example, here are the steps for deploying /weblogic/lib/aix/libproxy.so. You would deploy this shared library if you are interested in resolving issue 7366, otherwise you would not need to use this file at all. To deploy the libproxy.so, make a copy of the original to a safe location and then copy libproxy.so from the service pack to replace the original file that you backed up in another location. For instance, if you installed WebLogic in /weblogic and want to use the NSAPI plugin on AIX (/aix/libproxy.so), then these commands will backup the original library and copy in the new one:
         $ cp /weblogic/lib/aix/libproxy.so /weblogic/lib/aix/libproxy.so.451
         $ cd /tmp
         $ jar xvf weblogic451sp11.zip
         $ cp /tmp/lib/aix/libproxy.so /weblogic/lib/aix/libproxy.so
8. Once you have made these changes and started the Server, you can check that installation was successful by checking the server version:
         java weblogic.Admin t3://Host:Port VERSION
   should return
         WebLogic Build: 5.1.0 Service Pack 4 ...
7. ### Removing the Service Pack Shut down the WebLogic Server. Remove weblogic510sp4boot.jar from the start of the Java system classpath and weblogic510sp4.jar from the start of the WebLogic classpath used to start the WebLogic Server. Delete weblogic510sp4boot.jar, weblogic510sp4.jar and any other files unzipped from the service pack download. If you used wlconfig.exe to make changes to your installation configuration as described under Installation, change your configuration back to the previous values: reset the JAVA_HOME if you changed it, remove the weblogic510sp4boot.jar from the start of the classpath and remove the weblogic510sp4.jar from the start of the weblogic.class.path. Restore any non-java class files that you replaced in the installation process (eg WebLogic_RDBMS.jar) You can then start the WebLogic Server without the service pack. Once you have made these changes and started the Server, you can check that the service pack is no longer in use by checking the server version, as shown below:
         java weblogic.Admin t3://Host:Port VERSION
## Release notes for WebLogic Server 5.1 Service Pack 4 ### Resolved issues Below are the issues resolved in each of the Service Pack releases. Service Packs are cumulative, so all of the issues listed below are included in the latest Service Pack. Service Pack 1 Service Pack 2 Service Pack 3 Service Pack 4 ### 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 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 CR022854: Improved checkAForm state management. ISSUE CR025483: Fixed an error relating to multi object finders and complex primary keys in RDBMS CMP code generation. ISSUE CR030881: Fixed problem with jsp precompiler not accepting certain formats of attributes. ISSUE CR031317: Fixed the problem with Apache plugin not working properly using VirtualHosts. ISSUE CR031397: Fixed problem with NSAPI plugin sending two host headers to WebLogic. ISSUE CR031491: 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 CR031492: Fixed the problem with Jolt session pool not providing a mechanism to set RECVTIMEOUT. (additional details) ISSUE CR031500: Fixed the problem with the compliance checker by prohibiting declation of methods that return com.sun.java.util.collection. ISSUE CR031503: Fixed the problem with read-only entity beans refreshing when dbIsShared is set to true. ISSUE CR031532: Implement features that are available in NSAPI/ISAPI plugin in HttpClusterServlet ISSUE CR031557: Fixed the ClassCastException obtained by using JAXP with EJB. ISSUE CR031575: Cluster containing many EJBs will cause multicast problems #### Additional details on new plugin parameters: The following parameters have been added and are available for the specified plugins.
Parameter Name | Defaults | Pertains To | Description
--- | --- | --- | ---
DynamicServerList | ON/OFF (Default: ON) | ISAPI only | It will be "ON" by default. If set to "OFF" then the dynamic list returned by WebLogic with the response will be ignored by the plugin. There will be some shortcomings if the users go for this architecture. First, they cannot add new servers in the cluster as the plugin will try to connect only to the servers in it's static list. Second, if they add a new server to the list and it becomes the secondary, then the plugin will not failover (because of isServerInList) hence sessions will be lost. Finally, if any server goes down the plugin will hit that dead server again and again. This may affect the performance.
HungServerRecoverSecs | 10:300:600 for min:default:max | All plugins | You should set this to a very large value. If it is less than the time the servlets take to process, then you will see unexpected results. This implementation takes care of the hung or unresponsive servers in the cluster. So the plugin waits for HungServerRecoverSecs for the the server to respond and then declares that server dead and fails over to the next server.
Idempotent | ON/OFF (Default: ON) | All plugins | This is a URL level flag. By default it will be "ON" so if the servers do not respond within HungServerRecoverSecs, the plugins will failover. If set to "OFF" the plugins will not failover. It can be set differently for different URL's or Mime types.
MaxSkips | 5:10:1000 for min:default:max | ISAPI only | Currently if a server goes down the plugin marks it as bad and skips it for the next ten requests for that server. Ten skips doesn't mean ten requests but ten calls to getNextServer(). This happens when the request comes without the cookie, and the PRIMARY and SECONDARY are down. By using this parameter the user can change the MAX_SKIPS for dead servers.
#### Additional details on WebLogic_RDBMS.jar: We include the lib/persistence/WebLogic_RDBMS.jar file in the service pack to resolve issue 9999. This jar file requires special attention because it is not a jar file that gets pre-appended to any classpaths. Instead, this EJB CMP jar file just needs to replace the original WebLogic_RDBMS.jar file in the lib/persistence directoy. No modifications are needed to the java or weblogic classpaths. It is important to note that EJBs must be recompiled if the new WebLogic_RDBMS.jar file is installed from a service pack. They must also make sure that their classpaths are set correctly. In general, if you wish to resolve issue 9999, apply the weblogic510sp4.jar file as follows: Server - Apply weblogic510sp4.jar to weblogic.class.path EJB Deployer/Developer - Apply weblogi510sp4.jar to CLASSPATH Client - Do not apply weblogic510sp4.jar #### Additional details on ISSUE CR031492: The following properties need to be set in the weblogic.properties file: weblogic.system.startupClass.demojoltpoolStart=\ bea.jolt.pool.servlet.weblogic.PoolManagerStartUp weblogic.system.startupArgs.demojoltpoolStart=\ poolname=demojoltpool,\ appaddrlist=//lcsol1:6000,\ failoverlist=//lcsol1:6000,\ minpoolsize=1,\ maxpoolsize=3,\ recvtimeout=200 (number of seconds) #### Additional details on ISSUES 10228, 10399, 10428, and 10986: 1. mod_wl.so for standard Apache (non EAPI) installations 2. mod_wl_ssl.so for Apache + SSL/EAPI installations(Stronghold, modssl etc) 3. mod_wl_ssl_raven.so for Apache + Raven installations mod_wl_ssl_raven.so was required because Raven applies frontpage patches which makes it incompatible with mod_wl_ssl.so mod_wl_eapi.so is no longer required. That has been removed from the GNUmakefile. These binaries have been certified against C2Net's Stronghold/3.0 (Apache/1.3.12) and Covalent's Raven/1.4.3 (Apache/1.3.12). #### Known Issues There are no known issues at this time. #### Miscellaneous General files included with every service pack: utils/version.class This file will update the message returned when you use the version utility to show that you are using "Service Pack 4". We have included demo security certificates with extended expiration dates in this release. We have included Apache plugins for Solaris and Linux in this release. Copyright © 2000 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher. Last updated 06/22/2000