Release Notes for WebLogic Server 5.1 Service Pack 13

Contents
Installation and removal instructions
Installation
Removal
Release notes for Service Pack 13
Additional details on new plug-in parameters
New WebLogic properties
Additional details on WebLogic_RDBMS.jar
Additional details on specific CRs
Known issues (Includes important CRs for JDBC and File session persistence users)
Miscellaneous CRs 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 CRs is provided in this document. Service Packs function for both domestic and exportable versions of WebLogic Server. Service Packs are cumulative, so all issues fixed in earlier Service Packs have also been fixed in the current Service Pack. For a comprehensive list of all the issues fixed in Service Packs 1-12, see the file README2.html.

NOTE: The release notes for WebLogic Server are continually being updated. If you are viewing this file locally, to obtain the most recent version of this readme, point your web browser to: http://www.weblogic.com/docs51/classdocs/SERVICEPACK_README.html

The service pack download is shipped as a .zip file (weblogic510sp13.zip) and contains the following binary files. Check documentation for their usage.

    setEnv.cmd
    setEnv.sh
    startConsole.cmd
    startConsole.sh
    startSNMPAgent.cmd
    startSNMPAgent.sh
    startWebLogic.cmd
    startWebLogic.sh
    510sp13/SERVICEPACK_README.html (this file)
    510sp13/SERVICEPACK_README.txt
    510sp13/README2.html
    510sp13/README2.txt
    510sp13/README3.html
    510sp13/README3.txt
    510sp13/ldaprealm.properties
    510sp13/relnotes.html
    510sp13/ddl/jms_cloudscape.ddl
    510sp13/ddl/jms_db2.ddl
    510sp13/ddl/jms_mssql.ddl
    510sp13/ddl/jms_oracle.ddl
    510sp13/ddl/jms_sybase.ddl
    510sp13/wlec/README_wlec.html
    510sp13/wlec/README_wlec.txt
    510sp13/wlec/weblogic.properties
    510sp13/wlec/wlec_classes.jar
    510sp13/wlec/wlec_examples.jar
    510sp13/wlec/wleorb.jar
    510sp13/wlec/wlepool.jar
    bin/beasvc.exe
    bin/beasvc_117.exe
    bin/installNtService.cmd
    bin/uninstallNtService.cmd
    bin/iisproxy.dll (IIS Plugin)
    bin/iisforward.dll (IIS Plugin)
    bin/proxy30.dll (NSAPI Plugin)
    bin/proxy35.dll (NSAPI Plugin)
    bin/proxy36.dll (NSAPI Plugin)
    bin/stackdump.dll (Native troubleshooting)
    bin/stackdump_g.dll (Native troubleshooting)
    bin/wlconfig.exe (WebLogic configuration utility)
    bin/wlntio.dll (Native performance pack)
    bin/wlntrealm.dll (Security realm for NT)
    bin/wlserver.exe (Start executable for NT)
    bin/wlstartup.dll (Start executable for NT)
    bin/oci817_8/weblogicoci36.dll (Oracle JDriver)
    bin/win32_12/install.exe (NT Services)
    bin/win32_12/remove.exe (NT Services)
    bin/win32_12/wlconfig.exe (NT Services)
    bin/win32_12/wlserver.exe (Start executable for NT)
    bin/win32_12/WLService.exe (NT Services)
    bin/win32_12/wlstartup.dll (Start executable for NT)
    examples/applets/phonebook1.jsp
    examples/applets/phonebook2.jsp
    examples/ejb/basic/beanManaged/index.html
    examples/iiop/wls2wls/index.html
    examples/iiop/wls2wls/InteropServlet.java
    examples/iiop/wls2wls/TradeResult.java
    examples/iiop/wls2wls/Trader.java
    examples/iiop/wls2wls/TraderBean.java
    examples/iiop/wls2wls/TraderHome.java
    examples/iiop/wls2wls/build_client.cmd
    examples/iiop/wls2wls/build_ejb.cmd
    examples/iiop/wls2wls/ejb-jar.xml
    examples/iiop/wls2wls/weblogic-ejb-jar.xml
    examples/jms/drawdemo
    examples/jolt/servlet/jadmin/examples.jolt.servlet.jadmin.BounceJoltServlet.html
    examples/jolt/servlet/jadmin/BounceJoltServlet.java
    examples/jolt/servlet/jadmin/index.html
    examples/jolt/servlet/jadmin/joltadmin.html
    examples/jsp/URLEncode.html
    examples/jsp/URLEncode.jsp
    examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/ConnectionTag.class
    examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/QueryExtraInfoTag.class
    examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/QueryTag.class
    examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/ResultsTag.class
    examples/security/sslclient/jsseWLS.bat
    examples/security/sslclient/NulledHostnameVerifier.java
    examples/security/sslclient/NulledTrustManager.java
    examples/security/sslclient/SSLClient.java
    examples/security/sslclient/SSLClientServlet.java
    examples/security/sslclient/SSLSocketClient.java
    examples/security/sslclient/wlsWLS.bat
    examples/servlets/AuthFilterImpl.java
    examples/webapp/index.html
    examples/xml/http/StockClient.java
    images/bea_logo_small.gif
    lib/joltintl.zip
    lib/snmpkit.jar
    lib/weblogic-tags-510.jar
    lib/weblogic510sp13.jar
    lib/weblogic510sp13boot.jar
    lib/aix/libmuxer.so (Native performance pack)
    lib/aix/libproxy36.so (NSAPI plugin)
    lib/aix/libproxy40.so (NSAPI plugin)
    lib/aix/libweblogicunix1.so (Server startup identity switcher)
    lib/aix/libwlenv.so (Return native environment strings)
    lib/aix/mod_wl.so (Apache plugin)
    lib/aix/mod_wl.ssl.so (Apache plugin)
    lib/aix/zac_aix
    lib/aix/oci817_8/libweblogicoci36.so (Oracle JDriver)
    lib/hpux10/libproxy.sl (NSAPI plugin)
    lib/hpux11/libmuxer.sl (Native performance pack)
    lib/hpux11/libproxy.sl (NSAPI plugin)
    lib/hpux11/libweblogicunix1.sl (NSAPI plugin)
    lib/hpux11/mod_wl_ssl.so (Apache plugin)
    lib/hpux11/mod_wl.so (Apache plugin)
    lib/hpux11/mod_wl_ssl_raven.so (Apache plugin)
    lib/hpux11/zac_hpux
    lib/hpux11/oci817_8/libweblogicoci36.sl (Oracle JDriver)
    lib/linux/libproxy.so
    lib/linux/libmuxer.so (Native performance pack)
    lib/linux/libwlenv.so
    lib/linux/libweblogicunix1.so (Return native environment strings)
    lib/linux/mod_wl.so (Apache plugin)
    lib/linux/mod_wl_ssl.so (Apache plugin)
    lib/linux/mod_wl_ssl_raven.so (Apache plugin)
    lib/linux/wlauth
    lib/linux/zac_linux
    lib/linux/oci817_8/libweblogicoci36.so (Oracle JDriver)
    lib/persistence/WebLogic_RDBMS.jar
    lib/solaris/libmuxer.so (Native performance pack)
    lib/solaris/libproxy.so (NSAPI plugin)
    lib/solaris/libstackdump.so (Native troubleshooting)
    lib/solaris/libweblogicunix1.so
    lib/solaris/mod_wl.so (Apache plugin)
    lib/solaris/mod_wl_ssl.so (Apache plugin)
    lib/solaris/mod_wl.ssl_raven.so (Apache plugin)
    lib/solaris/wlauth (Native security realm for Unix)
    lib/solaris/zac_solaris
    lib/solaris/oci817_8/libweblogicoci36.so (Oracle JDriver)
    lib/tru64unix/libmuxer.so (Native performance pack)
    lib/tru64unix/libproxy.so (NSAPI plugin)
    lib/tru64unix/libweblogicunix1.so (Server startup identity switcher)
    lib/tru64unix/libw1env.so (Return native environment strings)
    lib/tru64unix/mod_wl.so (Apache plugin)
    lib/tru64unix/zac_tru64unix
    myserver/ca.pem
    myserver/democert.pem
    myserver/demokey.pem
    zac/AIX_ppc.res
    zac/AIX_ppc_g.res
    zac/DECUnix_alpha.res
    zac/DECUnix_alpha_g.res
    zac/HPUX_parisc.res
    zac/HPUX_parisc_g.res
    zac/Linux_x86.res
    zac/Linux_x86_g.res
    zac/Solaris_sparc.res
    zac/Solaris_sparc_g.res
    zac/TRU64Unix_alpha.res
    zac/TRU64Unix_alpha_g.res

Installation and removal instructions

Installation

  1. Read this document and the release notes.

  2. Unzip the contents of the service pack into a temporary directory, such as /temp.

  3. Shutdown the WebLogic Server.

  4. Copy weblogic510sp13.jar and weblogic510sp13boot.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 weblogic510sp13.jar and then weblogic510sp13boot.jar.

  5. Add the path of weblogic510sp13boot.jar to the beginning of the Java system classpath. Add the path of weblogic510sp13.jar to the beginning of the WebLogic classpath before you start the WebLogic Server:
      $ java ...
          -classpath c:\weblogic\lib\weblogic510sp13boot.jar;
          c:\java\lib\classes.zip;
          c:\weblogic\classes\boot;
          c:\weblogic\eval\cloudscape\lib\cloudscape.jar
          -Dweblogic.class.path=c:\weblogic\lib\weblogic510sp13.jar;
          c:\weblogic\classes;
          c:\weblogic\license;c:\weblogic\lib\weblogicaux.jar;
          c:\weblogic\myserver\serverclasses
          ... weblogic.Server

    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.

  6. 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 weblogic510sp13boot.jar file at the start of classpath (to be entered on one line):

      C:\> wlconfig -classpath c:\weblogic\lib\weblogic510sp13boot.jar;
            c:\java\lib\classes.zip;
            c:\weblogic\classes\boot;
            c:\weblogic\eval\cloudscape\lib\cloudscape.jar

    Include the weblogic510sp13.jar file at the start of weblogic.class.path (to be entered on one line):

      C:\> wlconfig -Dweblogic.class.path=c:\weblogic\lib\weblogic510sp13.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

  7. 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 weblogic510sp13.zip $ cp /tmp/lib/persistence/WebLogic_RDBMS.jar
    /weblogic/lib/persistence/WebLogic_RDBMS.jar

    If you are using VisualAge, import lib/persistence/WebLogic_RDBMS.jar into your workspace.

  8. 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 optional and files should only be copied if you are interested in resolving an issue.

      Native NT Executables:

    • bin/wlconfig.exe CR 31853
    • bin/wlserver.exe CR 31853

      Files for beasvc.exe (See additional information)

      bin/beasvc.exe
      bin/beasvc_117.exe
      bin/installNtService.cmd
      bin/uninstallNtService.cmd


      Plug-ins:  CRs 10368, 10381, 10610,10680, 10885, 9536, 10228, 10399, 10428, 10986, 11017, 31317, 31397 ,31532, 28929, 31034, 31315, 31317, 31719, 31878, 32053, 32132, 32133, 32136, 32060, 38832, 39177, 37035, 37172 , 37837, 37873 , 37951, 37992, 38018 , 38118 , 38377, 38730, 38832, 38995 , 39177, 39341, 39411 , 39673, 39839, 39768, 39882, 40928, 40977, 41062, 41206, 41243, 42019, 42277, 42326, 42808, 43200, 31000, 43920, 45766, 45866, 46088, 46611, 46939, 47697, 48253, 47784, 48322, 48994, 49879, 50042, 50785, 52417, 53106, 54022, 55714, 55974, 61454

    • bin/iisproxy.dll
    • bin/iisforward.dll
    • bin/proxy30.dll
    • bin/proxy35.dll
    • bin/proxy36.dll
    • lib/aix/libmuxer.so
    • lib/aix/libproxy20.so
    • lib/aix/libproxy36.so
    • lib/aix/libproxy40.so
    • lib/aix/libweblogicunix1.so
    • lib/aix/libwlenv.so
    • lib/aix/mod_wl.so
    • lib/aix/mod_wl.ssl.so
    • lib/hpux11/libmuxer.sl
    • lib/hpux11/libproxy.sl
    • lib/hpux11/mod_wl_ssl.so
    • lib/hpux11/mod_wl.so
    • lib/linux/libmuxer.so
    • lib/linux/libproxy.so
    • lib/linux/libwlenv.so
    • lib/linux/mod_wl.so
    • lib/linux/mod_wl_ssl.so
    • lib/linux/mod_wl_ssl_raven.so
    • lib/linux/wlauth
    • lib/solaris/libmuxer.so
    • lib/solaris/libproxy.so
    • lib/solaris/libstackdump.so
    • lib/solaris/mod_wl.so
    • lib/solaris/mod_wl_ssl.so
    • lib/solaris/mod_wl.ssl_raven.so
    • lib/tru64unix/mod_wl.so

      Database Drivers:  CRs 9765, 29637, 30410, 32061, 32063, 36269, ,39238, 39426, 33423, 34041, 34242, 31331, 36671, 37427, 37398, 37693, 37893, 38229, 39025, 39887, 40509, 40598, 40851, 41351, 41352, 41356, 42022, 42028, 42054, 42175, 33541, 35349, 37514, 38212, 38235, 39810, 40230, 41178, 41793, 41866, 42464, 42566, 42771, 43502, 43569, 43745, 43956, 44212, 46657, 46848, 47960, 48368, 48571, 49254, 49616, 50716, 51160, 51719, 51968, 52778, 53521, 53908, 54187, 54212, 55368, 55615, 55655, 56156, 57965, 62315

    • lib/aix/oci817_8/libweblogicoci36.so
    • lib/linux/libweblogicunix1.so
    • lib/linux/oci817_8/libweblogicoci36.so
    • lib/solaris/libweblogicunix1.so
    • lib/solaris/oci817_8/libweblogicoci36.so
    • lib/hpux11/oci817_8/libweblogicoci36.sl

      Files that update or add examples:

    • examples/applets/phonebook1.jsp
    • examples/applets/phonebook2.jsp
    • examples/ejb/basic/beanManaged/index.html
    • examples/iiop/wls2wls/index.html
    • examples/iiop/wls2wls/InteropServlet.java
    • examples/iiop/wls2wls/TradeResult.java
    • examples/iiop/wls2wls/Trader.java
    • examples/iiop/wls2wls/TraderBean.java
    • examples/iiop/wls2wls/TraderHome.java
    • examples/iiop/wls2wls/build_client.cmd
    • examples/iiop/wls2wls/build_ejb.cmd
    • examples/iiop/wls2wls/ejb-jar.xml
    • examples/iiop/wls2wls/weblogic-ejb-jar.xml
    • examples/jolt/servlet/jadmin/exmples.jolt.servlet.jadmin.BounceJoltServlet.html
    • examples/jolt/servlet/jadmin/BounceJoltServlet.java
    • examples/jolt/servlet/jadmin/index.html
    • examples/jolt/servlet/jadmin/joltadmin.html
    • examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/ConnectionTag.class
    • examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/QueryExtraInfoTag.class
    • examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/QueryTag.class
    • examples/security/sslclient/jsseWLS.bat
    • examples/security/sslclient/NulledHostnameVerifier.java
    • examples/security/sslclient/SSLClient.java
    • examples/security/sslclient/wlsWLS.bat
    • examples/servlets/AuthFilterImpl.java
    • examples/webapp/index.html examples/jsp/tagext/sql/WEB-INF/classes/weblogic/taglib/sql/ResultsTag.class examples/security/sslclient/NulledTrustManager.java examples/security/sslclient/SSLSocketClient.java
    • examples/xml/http/StockClient.java

      Files that add ZAC support (See additional information):

    • lib/aix/zac_aix
    • lib/hpux11/zac_hpux
    • lib/linux/zac_linux
    • lib/solaris/zac_solaris
    • lib/tru64unix/zac_tru64unix
    • zac/AIX_ppc.res
    • zac/AIX_ppc_g.res
    • zac/DECUnix_alpha.res
    • zac/DECUnix_alpha_g.res
    • zac/HPUX_parisc.res
    • zac/HPUX_parisc_g.res
    • zac/Linux_x86.res
    • zac/Linux_x86_g.res
    • zac/Solaris_sparc.res
    • zac/Solaris_sparc_g.res
    • zac/TRU64Unix_alpha.res
    • zac/TRU64Unix_alpha_g.res

    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/libproxy40.so. You would deploy this shared library if you are interested in resolving CR 32053, otherwise you would not need to use this file at all.

    To deploy the lib/aix/libproxy40.so, make a copy of the original to a safe location and then copy lib/aix/libproxy40.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/libproxy40.so), then these commands will backup the original library and copy in the new one:

      $ cp /weblogic/lib/aix/libproxy40.so /weblogic/lib/aix/libproxy40.so.backup
      $ cd /tmp
      $ jar xvf weblogic510sp13.zip
      $ cp /tmp/lib/aix/libproxy40.so /weblogic/lib/aix/libproxy40.so

  9. Installing the Service Pack on the Client (optional)

    Typically the service pack jar is placed on the server. However, in some instances, it is also necessary to put the service pack jar on the client as well. If you are using JMS, we require that the service pack jar be placed on the client and server. For most other uses it is not necessary, but you should check the CRs below to make sure. To place the Service Pack on the client, the weblogic510sp13.jar has to be prepended to the CLASSPATH of the client. BEA has found that this is required if user's wish to resolve one or more of the following CRs: 27890, 30485, 30527, 33244, 33289, 33794.

  10. Once you have made all the above necessary changes from steps 1-8, start the WebLogic 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 13 ...

Removing the Service Pack

  1. Shut down the WebLogic Server.

  2. Remove weblogic510sp13boot.jar from the start of the Java system classpath and weblogic510sp13.jar from the start of the WebLogic classpath used to start the WebLogic Server.

  3. Delete weblogic510sp13boot.jar, weblogic510sp13.jar and any other files unzipped from the service pack download.

  4. 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 weblogic510sp13boot.jar from the start of the classpath and remove the weblogic510sp13.jar from the start of the weblogic.class.path.

  5. Restore any non-java class files that you replaced in the installation process (eg WebLogic_RDBMS.jar)

  6. You can then start the WebLogic Server without the service pack.

  7. 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 13

Resolved CRs:

Below are the CRs resolved in the current Service Pack and a link to the previous Service Pack release notes. Service Packs are cumulative, so all of the CRs in Service Pack 1-12 have been fixed in the latest Service Pack.
Service Pack 1-12

Service Pack 13

NOTE: If you are using Service Pack 13, make sure that the weblogic510sp13.jar file is in the classpath on the client side in addition to on the server side.

The following areas have had changes:

Clustering
EJB
JDBC
JMS
Plug-ins
Security
Servlets, JSPs, Web Applications
Miscellaneous

The following issues have been resolved with this service pack.

Clustering CRs:

  • CR 50897: Now we log a warning if a non-serializable object is put in a replicated session.
  • CR 69090: You can now use the property weblogic.cluster.multicastPort to set the port used for multi-casting. Add this property to your weblogic.properties file. For example, weblogic.cluster.multicastPort=8100. The acceptable values are 0 --> 65534.
  • CR 83790: A potential memory leak that occurs when using session replication under load, has been fixed. Previously the secondary sessions's hashtable was not being thoroughly cleaned and this was causing memory to leak away.

EJB CRs:

  • CR 56600 and CR 87678: Ejbc now handles compiling beans with more than one 'char' field. If an entity bean contained more than one field of type 'char,' ejbc was failing as the names of the fields were not mangled properly causing duplicate declarations of the same named field.
  • CR 66331: Fixed an EJB problem as of Service Pack 10 where the EJB could not deploy when the EJB interfaces and implementation were in different packages.
  • CR 68911: There was a problem with the jDriver not working correctly with LONG type data. Using ResultSet.getCharacterStream() was not returning any data.
  • CR 71080: Fixed a problem where, even if finders-call-ejbload was set to true, ejbLoad was not being called when a business method was invoked on the EJB.
  • CR 81534: When retrieving managed objects in an attempt to monitor EJB performance, a NullPointerException was being thrown and there was no way to access the data; this has been fixed.
  • CR 82289: Fixed a problem in service pack 11 where EJBs that failed to deploy were no longer being noted with an appropriate error in the log files.
  • CR 84106: We made enhancements to our read-only entity bean implementation in order to speed up their performance.
  • CR 90761: Fixed a problem where using the OCI driver would occasionally cause a java.lang.StringIndexOutOfBoundsException when a EJB-QL query was attempted. This was occuring as the finder itself was setting the needsRefresh property to false and thus not allowing ejbLoad to be called.

JDBC CRs:

  • CR 59097: The Statement.cancel method is now working properly when using Weblogic's jDriver for Oracle.
  • CR 67647: Using java.sql.Connection.setTransactionIsolation() now sets the isolation level correctly when the connection has been obtained from the data source.
  • CR 71405: We have improved our cleanup of connections with type 2 drivers such as Sybase's.
  • CR 72605: We now have the PreparedStatement cache turned off by default. You can turn it on by setting the following in your weblogic.properties file in the weblogic.jdbc.connectionPool.oraclePool section, for example: STATEMENT_CACHE_SIZE=15
  • CR 74808: We have corrected SQL problems occurring when the parameter maxTransactedDurableSubscribers is set to greater than 0.
  • CR 78609: Fixed a problem with the JVM crashing when the server tries to access CLOB data in a database by using the prepareStatement method.
  • CR 85295: Fixed problems with the premature expiration of memory and JDBC based sessions.

JMS CRs:

  • CR 80359: We fixed a problem with our JMS Draw Demo example so that multiple JMS clients will function.
  • CR 73921: Using JMS topics under a high message load, or over a slow network, no longer causes an AssertionError to be thrown while trying to execute "popUser". Now we prevent this from happenning by properly synchronizing the pushing/popping of a user in the MessageQueue.
  • CR 74928: Fixed a problem with JMS and MSSQL 2000 users that was causing a java.sql.SQLException; the database was identifying itself as "SQLServer" when we were expecting "MSSQLServer".
  • CR 75803: Fixed a problem as of Service Pack 9 with stand alone JMS clients sending and receiving asynchronous persistent queue messages from WebLogic. If WebLogic went down before the messages were completely received, the rest of messages continued to be received by the JMS Receiver after the connection exception was thrown. The messages in the persistent store are not marked as acknowledged and not being deleted. When the server restarts again, the same messages get delivered again. This has been fixed.
  • CR 79526: Fixed a problem where multiple JMS clients were failing if only one of them had been terminated.
  • CR 87220: There was a problem resulting in a stack overflow when a client requested an enumeration of requests in a JMS queue; this was happening under load due to the amount of messages sent to the client that had been serialized all at once, rather than one at a time.

Plug-in CRs:

  • CR 78084: Fixed some Solaris and Linux problems with our plug-in where, under load, the iPlanet proxy might crash if debugging was turned on.
  • CR 78405: Fixed a problem where proxy servers in front of WLS were erroneously finding the Weblogic primary server dowm and failing over to the secondary server.
  • CR 84329 and 84239: Fixed a problem uploading files to the server from Netscape when WebLogic was behind a proxy and used the NSAPI plug-in.

Security CRs:

  • CRs 53901 65920 69160 69083: We have added a parameter that can be set in your web.xml (applicable to servlets, the http cluster servlet, and web applications:

    <context-param>
    <param-name>weblogic.httpd.servlet.clientCertProxy</param-name>
    <param-value>true</param-value>
    </context-param>

    You may wish to use this parameter if your web applications are set up for CLIENT-CERT authentication only, ie:

    <login-config>
    <auth-method>CLIENT-CERT</auth-method>
    </login-config>

    This parameter defaults to false where client certs are not proxied if a proper proxy is not in place, so WebLogic will ignore a 'WL-Proxy-Client-Cert' header if a client is trying to impersonate a proxy. Setting this to true negates this behavior. WebLogic now also, internally, ensures that the proxy strips the 'WL-Proxy-Client-Cert' header from incoming messages for added security.

  • CR 63867: We have improved the performance of our SSL implementation by not pooling the message digests.
  • CR 64285: Fixed a problem occuring when an SSL client connected to WebLogic behind a proxy server. HostnameVerifier was throwing an error. The common name entry was being compared to the proxy servers hostname and not the original hostname string that had the correct certificate.
  • CR 69685: In order to hide your SNMP agent password you can now have the password read from a file if the password begins with an @ symbol, ie java weblogic.SNMPAgent -password @filename.
  • CR 70434: After Service Pack 10 a classCast exception was occurring. This error (java.lang.ClassCastException: weblogic.security.ldaprealm.LDAPGroup) no longer happens when a principal passes a group object rather than a user object.
  • CRs 70870 75109 70907 78638 78829 79255 77473 77288: WebLogic Server 5.1 now has a fully usable implementation of LDAPRealmv2.
  • CR 71853: If a lockout policy was set on users in an LDAP server, when login failure occurred through form authentication the lockout policy was properly enforced and the server threw an expected LDAP exception; however the client browser was thrown a 500 error rather than just returning to the login screen. This has been fixed.
  • CR 75109: You can now cache an LDAP group memebership. This is configured with the property: weblogic.security.groupCacheTTL=300 <default value, in seconds>. WebLogic Server will cache the group membership lookups until their time-to-live value expires. You can clear the cache (and cause it to be refreshed on the next retry) by using the method: weblogic.security.acl.FlatGroup.clearCache().
  • CR 76823: When using WebLogic as a service, and running under a Windows NT security realm, privileged users who should have been able to start and stop the WebLogic service were unable to do so. This has been fixed.
  • CR 80769: Fixed a recently introduced problem with an LDAP realm and when the weblogic property weblogic.security.realm.cache.caseSensitive=false was set. Users were not being correctly relogged onto the appropriate location.
  • CR 82098: Now when interoperating between 5.1 and 6.1 servers, the security context (username/password) is propagated properly.
  • CR 86674: WebLogic now implements LDAP so that usernames and passwords containing natural language characters now function correctly.

Servlets CRs:

  • CR 61493: Now, when a URL is specified in a JSP with name and value parameters, the URL obtained from this by an included JSP is no longer truncated. This was only occurring in situations where an encoding was specified in the weblogic.properties file (ie weblogic.httpd.inputCharset).
  • CR 61776: Now you can set the doctype used by a servlet creating HTML to 'transitional'. Using HtmlPage.setHtmlLevel(HtmlPage.HTML_4T) will now do this.
  • CR 70267: Fixed a JSP problem of Service Pack 10, where if you declared a variable in TagExtraInfo with an application scope, it was not being found and a ClassCast exception occurs.
  • CR 70789: Now WebLogic works correctly with URLs such as http://server:port/cgi-bin/foo.exe/My-Log where the end portion of the URL, My-Log, for example, is telling the corresponding CGI script which internal method to run.
  • CR 71524: Now multibytes characters contained in a URLs query string work properly when the weblogic.property inputCharset has been set; this fixes a problem occuring in Service Pack 10 and later.
  • CR 72299: Now the -webapp weblogic.jspc command line switch works correctly; specifying a relative URI using the include file directive in conjunction with the -webapp switch now functions properly with the weblogic.jspc precompiler.
  • CR 73203: You can now properly use the '+' character in your servlet mappings, ie: <url-pattern>/hello+x/*</url-pattern>
  • CR 73212: We have now added the -k option to our jspc compiler, this will allow compilation to continue even if some files fail.
  • CR 73267: Now we properly add a "&" between parameters when using a jsp:forward to send along a URL that has been rewritten; so now if there are multiple parameters added to the URI, it will not be mangled.
  • CR 73797: We fixed a JSP problem where useBean tags were not parsed properly if they were placed ahead of a page directive.
  • CR 77361: WebLogic now correctly parses the Content-Length header if the header has multiple white spaces between the name and value.
  • CR 77390: Now if you use a requestDispatcher().forward call from a jsp/servlet the response gets properly committed.
  • CRs 77422 and 80613: Fixed a recently introduced problem where commas put into a quoted value stored in a cookie were not being handled correctly.
  • CR 78592: There are no longer null.pointer.exceptions being thrown when using the 'size' attribute of our JSP cache tags.
  • CR 78930: Fixed a problem where a request such as http://host:port/webApp/aux%20.jsp would hang WebLogic on a Windows machine.
  • CR 79250: Now when trying to delete a cookie by using setMaxAge(0), Netscape browsers will now correctly remove the cookie.
  • CR 79326: Now the improper formatting of multibyte characters in requested uri will return a 400 BAD REQUEST message.
  • CR 80417: Now a request for HTTP 1.0 gives a response in HTTP 1.0. Previously, a GET for HTTP 1.0 would return with a HTTP 1.1 version.
  • CR 83848: Fixed a problem occurring when a JSP had embedded content from another JSP; Japanese characters were not being displyed correctly in this case, despite their character set being set in the right fashion.
  • CR 84076: Fixed a null pointer exception occuring when using a keep-alive connection where subsequent requests to a servlet where the URI being decoded was treated as null.
  • CR 86026: Now the weblogic property CacheSessionCookie defaults to true.
  • CR 87344: Now, instead of returning a new seesion, getRequestedSessionId() returns null if the request does not specify a session ID.

Miscellaneous CRs:

  • CR 35101: Now an SNMP agent will be able to handle server and cluster names greater than 16 characters; up to 64 characters can be used in a server/cluster name.
  • 56341CR 56341 62061: Now a single WebLogic transaction will no longer create multiple transactions in an Oracle database. We fixed a problem occurring when two machines are in the same cluster; if Machine 1 started a transaction and Machine 2 executed a SQL statement on the same transaction, machine 2 would recognize that the transaction had been started by machine 1 but would still create its own connection to the database and send its statement through its own connection. Now machine 2 will recognize that machine 1 started the transaction and then the statement will be routed to the connection on Machine 1.
  • CR 57091: Fixed problems with Internet Explorer, WebLogic Server and typically applets (though not resticted to them) where the error, 'Connection failure java.net.ProtocolException: Didn't meet stated Content-Length' was occurring. This was being caused by problems with the setContentLength() method.
  • CR 64039: By setting weblogic.system.logSystemProperties=false in your weblogic.properties file, you can now turn-off system properties logging and you will no longer see your system properties being displyed in the server standard out.
  • CR 65697: The server will now start up properly when you have set weblogic.system.enableSetUID=true. There were problems with weblogic.system.enableSetUID=true and weblogic.system.enableSetGID=true when used in conjunction with weblogic.system.nonPrivUser. Now you can set both the non-privledged user and group without problems.
  • CR 69675 73578: Using beasvc will now also work if -javahome is pointed to the JRE home directory--the setting -javahome is usually pointing to the JDKs home, but now it will work fine if the JRE home is used.
  • CR 68555: Fixed an occasional an intermittent error with an NT realm and WebLogic where users were seeing the exception: java.lang.RuntimeException: OS error=53.
  • CR 70057: Fixed a problem with Service Pack 11 and 12 while using JConnect when retrieving multiple result sets from a stored procedure causing "ResultSet has already been closed." errors.
  • CR 74368: We have fixed the ZAC command-line utility so now it doesn't require X-windows on a Unix-based machine.
  • CR 74482: Fixed a problem with ZAC, where the ZAC bootstraps could not find the JRE if it was installed in a location with spaces within the directory name.
  • CR 75419: Using weblogic.utils.http.HttpParsing when a URL has '%' characters now works properly.
  • CR 76489: We fixed problems with the Windows performance pack that were causing server crashes under extreme load.
  • CR 76906: When uploading large files using multipart/form-data encoding, temporary files are created. Now if the request is terminated before the uploading of the file is finished, the temp file will be deleted.
  • CR 78202: The WEBLOGIC.LOG.HTTPD now reports RESPONSE_TIME_TAKEN and RESPONSE_BYTES.
  • CR 78431 81010 80744 76903 81765 83623 86362 89051: We fixed multiple muxer problems: Collections in all muxers (Java and native-code) that map to sockets now have unique keys. This has solved a variety of intermittitent issues, including data corruption, bad pointer references, WebLogic Server hangings and crashes. Data structures and state machines in muxers now have proper synchronization. This fixed certain classic deadlocks caused by conflicting order of locking. The call stacks between the muxer and the protocol layers above the muxer are now 2-way, which means a close of a socket or connection can be initiated from any point in the stack. Safeguards have been added to prevent deadlocks. State machine transitions in the muxer have been fixed, resulting in sockets no longer remaining in a CLOSE_WAIT state. JMS performance has also been enhanced due to changes in the muxer.
  • CR 79832: Fixed a recently introduced problem when creating a JOLT session pool from a startup class.
  • CR 81033: Now when using our 5.1 to 6.1 interoperability solution you no longer need an internet connection to run ejbc on the 5.1 client.
  • CR 81265: Fixed some interoperability problems between 5.1 and 6.1 servers when assertion errors were being thrown after servers had been started and stopped multiple times.
  • CR 81764: Fixed a problem between 5.1 and 6.1 servers under load when the server hanged on restart due to an IIOP initilization deadlock.
  • CR 82149: There were unnecesary log messages (normally occuring 'wrong destination address' warnings) being printed to the log. Now you will only see these messages if you turn on debugging.
  • CR 82282: Fixed a problem with log rotation where if you used extended log format and then had to restart your server the log was returned to the common format.
  • CR 82858: The server log was being filled with java.net.SocketException messages once the server had been running for a while due to the server JVM thread sleeping. This was causing some customers to reboot; this problem has been fixed.
  • CR 84611: A fix in Service Pack 12 triggered a problem in Internet Explorer where you were unable to download PDF's in the browser. This has been fixed, however you must have the property CacheSessionCookie set to 'true', the default setting, in order for the browser to work correctly.
  • CR 85586 84185: Clients connecting over T3 to the server now no longer cause a java.lang.NullPointerException - at weblogic.rjvm.RJVMFinder.equals(RJVMFinder.java:98) when the connection has been lost and then restored at a later point.
  • CR 86234: The indexDirectories feature of the FileServlet will now work with characters from other languages, so that it can handle multi-byte file names. However, for this to work the client browser must have enabled the option to disable always sending URLs in UTF-8 encoding.


Additional details on new plug-in parameters:

The following parameters have been added and are available for the specified plug-ins.
For information on how to install plug-ins, see the online administrator's guides.

Parameter Name Defaults Pertains To Description
DynamicServerList ON/OFF (Default: ON) ISAPI and NSAPI 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.
connectionTimeout 0 = infinite timeout All Plug-ins The amount of time, in seconds, that a socket waits in between reading chunks of data. If the timeout expires, a java.io.InterruptedIOException is thrown.
Debug ON/OFF (Default: OFF) All Plug-ins "Debug" will log the following messages to c:\tmp\wlproxy.log on NT and /tmp/wlproxy.log on UNIX:
--All headers coming in from the client/browser
--All headers sent to WebLogic
--All headers returned by WebLogic
--All headers returned back to the browser/client
--Dynamic Cluster List
--Connection info
--Other informational, warning and error messages
DebugConfigInfo ON/OFF (Default: OFF) All Plug-ins This parameter is used to enable the magic query parameter "__WebLogicBridgeConfig". This is used to get details about configuration parameters from the plugin.

For example, if you enable "__WebLogicBridgeConfig" by setting DebugConfigInfo=ON and then send a request like: http://www.mywebserver.com:8000/weblogic/foo.jsp?__WebLogicBridgeConfig, then the plug-in will gather the configuration information and return it back to the browser. Note that it will not connect to the WebLogic Server in this case.

This parameter is strictly for debugging and the format of the output message can change with releases. For security purposes it is advised to keep this parameter turned OFF in production systems.

DefaultFileName filename All Plug-ins If the URI is "/" then the default filename will be appended to the URI. This prevents redirects from the WebLogic Server. The DefaultFileName should be set to the default welcome page of the WebLogic Server. If the DefaultFileName is set to welcome.html, a http request like "http://somehost/weblogic" will become "http://somehost/weblogic/welcome.html". For this parameter to function, the same file must be specified in the weblogic properties file. For example, in this case, the weblogic properties file must be set to weblogic.httpd.initArgs.file=defaultfilename=welcome.html.
defaultServers None All Plug-ins (Required) A list of host names and port numbers of the servers to which you are proxying requests in the form:

host1:HTTP_Port:HTTPS_Port|host2:HTTP_Port:HTTPS_Port

(Where host1 and host2 are the host names of servers in the cluster, HTTP_Port is the port where the host is listening for HTTP requests, and HTTPS_Port is the port where the host is listening for HTTP SSL requests.) Separate each host with the | character.

If you set the secureProxy parameter to ON (see the secureProxy parameter), the HTTPS port uses SSL between the WebLogic Server running HttpClusterServlet and the WebLogic Servers in the cluster. You must always define an HTTPS port, even if you have set secureProxy to OFF.

DisableCookie2Server ON/OFF (Default: OFF) Apache only If set to ON, the plug-in will not use the server information in cookies. This fixes a problem with WAP devices that have a limitation using cookies.
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 and NSAPI 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.
numOfRetries 5 All Plug-ins Number of times HttpClusterServlet will attempt to retry a failed connection.
PathPrepend null All Plug-ins String to be prepended to the beginning of the original URL, after pathTrim has been trimmed, and before the request is forwarded to a WebLogic Server cluster member.
PathTrim null All Plug-ins String trimmed by the plug-in from the beginning of the original URL, before the request is forwarded to WebLogic Server. For example, if the URL

http://myWeb.server.com/weblogic/foo

is passed to the plug-in for parsing and if PathTrim has been set to strip off /weblogic before handing the URL to WebLogic Server, the URL forwarded to WebLogic Server is:

QueryFromRequest ON/OFF (Default: OFF) Apache only When set to ON, specifies that the Apache plug-in use (request_rec *)r->the request to pass the query string to WebLogic Server. (For more information, see your Apache documentation.) This behavior is desirable when a Netscape version 4.x browser makes requests that contain spaces in the query string and if you are using Raven Apache 1.5.2 on HP. When set to OFF, the Apache plug-in uses (request_rec *)r->args to pass the query string to WebLogic Server.
SecureProxy ON/OFF (Default: OFF) All Plug-ins If set to ON, enables SSL between the HttpClusterServlet and members of a WebLogic Server cluster.
trimExt Null All Plug-ins The file extension to be trimmed from the end of the URL.
WLProxySSL ON/OFF (Default: OFF) All plugins When set to ON, specifies that the client is using the HTTPS protocol. This parameter is used when there is more than one proxy server between the client and the plug-in, making it impossible for WebLogic Server to know whether HTTP or HTTPS is being used by the client.




New WebLogic Properties:


compileOptions (CR 38623)

A new parameter, compileOptions, can now be used in the weblogic.properties file under the JSP initial arguments (JSPServlet.initArgs) or in web.xml as a <context-param>. Use this parameter to specify your compiler options.

For example:
weblogic.httpd.initArgs.*.jsp=\
       pageCheckSeconds=1,\
       compileCommand=/usr/local/jdk1.2.2_05/bin/javac -O,\
       compileOptions=-g -O
	   workingDir=/home/weblogic/ivarServer/classfiles,\
       verbose=true,\
       keepgenerated=true


STATEMENT_CACHE_SIZE (CR 62315)

Added a new property called STATEMENT_CACHE_SIZE that enables the user to configure the size of a statement cache for a pool. The default value is 10 (hard coded), the minimum value is 300 (hard coded) and everything outside the minimum/maximum range is treated as the default value of 10. The property is defined per pool definition, through the weblogic.properties file.

When using the deprecated t3 style, if the STATEMENT_CACHE_SIZE is defined, it is replaced by the zero value which means the property is turned off.

This property is case sensitive because it's obtained by java.util.Property.getProperty(String).


useByteStreams (CR 46879)

Added a property in the CGIServlet called useByteStream that is set to false by default. The property is case sensitive. It can be turned on by setting the following in the web.xml file:

<init-param>
       <param-name>useByteStream</param-name>
       <param-value>false</param-value>
</init-param>


weblogic.cluster.maxMulticastSendDelayMilliSeconds (CR 31575)

Added a new property: weblogic.cluster.maxMulticastSendDelayMilliSeconds which, along with the new property, weblogic.cluster.multicastSendDelay, has replaced these two properties: weblogic.cluster.multicastDelayMillis and weblogic.cluster.multicasMaxDelayIncrements in order to improve server speed.

This property sets the maximum delay between fragments and defaults to 250 ms.


weblogic.cluster.multicastSendDelay (CR 31575)

Added a new property: weblogic.cluster.multicastSendDelay which, along with the new property, weblogic.cluster.maxMulticastSendDelayMilliSeconds, has replaced these two properties: weblogic.cluster.multicastDelayMillis and weblogic.cluster.multicasMaxDelayIncrements in order to improve server speed.

This property has a range of 0-100 and defaults to 15.


weblogic.cluster.multicastStateDumpDelayIncrement

The weblogic.cluster.multicastStateDumpDelayIncrement property, and the related weblogic.cluster.multicastStateDumpDelayMax, can be used to avoid multicast storms. The value of weblogic.cluster.multicastStateDumpDelayIncrement sets, in milliseconds, a exponentially increasing delay for retransmission of multicast messages. If weblogic.cluster.multicastStateDumpDelayIncrement is set, NAKs received between initial message transmission and expiration of the delay specified by the property are ignored. If a NAK is received after the delay interval has expired, the message is retransmitted, and the delay period is doubled. On each successive NAK the delay is doubled, up to a maximum delay defined by weblogic.cluster.multicastStateDumpDelayMax.

For example, if weblogic.cluster.multicastStateDumpDelayIncrement is set to n milliseconds, a NAK received within n milliseconds of initial message transmission is ignored. If a NAK is received n milliseconds or more after message transmission, the message is retransmitted, and any NAK received in the next 2*n milliseconds is ignored. If a NAK is received 2*n milliseconds or more after last transmission, the message is retransmitted, and any NAK received in the next 2*2*n milliseconds is ignored. The delay period increases in this fashion up to the maximum defined by weblogic.cluster.multicastStateDumpDelayMax.

The maximim allowable value for this property is 10 seconds (10,000 milliseconds). By default this property is disabled. This property is set on the command line, when starting each server instance in the cluster.

Note: In the case of multicast storms, you may increase the size of UDP socket send and receive buffers using the UNIX ndd utility. The udp_max_buf parameter controls the size of send and receive buffers (in bytes) for a UDP socket. The appropriate value for udp_max_buf varies from deployment to deployment. If you are experiencing multicast storms, increase the value of udp_max_buf by 32K, and evaluate the effect of this change. Do not change udp_max_buf unless necessary. Before changing udp_max_buf, read the Sun warning in the "UDP Parameters with Additional Cautions" section in the "TCP/IP Tunable Parameters" chapter in Solaris Tunable Parameters Reference Manual at http://docs.sun.com.


weblogic.cluster.multicastStateDumpDelayMax

This property, used in conjunction with weblogic.cluster.multicastStateDumpDelayIncrement, sets a maximum value, in milliseconds, for the interval between successive retransmission of a NAK’d multicast message.

The maximum allowable value for this property is 60 seconds (60,000 milliseconds). By default this property is disabled. This property is set on the command line, when starting each server instance in the cluster.


weblogic.ejb.tempDir (CR 56433)

Added a property called weblogic.ejb.tempDir that can be used to choose the temp directory of the EJBs. If this property is not provided, the directory defaults to the tmp_deployments directory and it is then created under the myserver directory.


weblogic.httpd.compileJspEnabled=[true|false] (CR 41093)

Added a new property: weblogic.httpd.compileJspEnabled. The default is set to TRUE. Adding weblogic.httpd.compileJspEnabled=false to the weblogic.properties file will disable compiling jsp's entirely-- please do not use this property unless you are sure that it is appropriate for your uses.


weblogic.httpd.defaultServerName=the name of a server (CR 43316)

Added a new property: weblogic.httpd.defaultServerName. This property allows you to specify the servername for any http request/response.


weblogic.httpd.inputCharset.<Dir name>=<charset name> (CR 30298)

A new property can be used to specify charset for the getParameter() and getParameterValues().

Using GET/POST requests from a Client or Browser, the servlet container determines charset of the string using the request URI of the HTTP request.

To specify encoding for the string of GET or POST request, the following properties need to be set in the weblogic.properties file:

weblogic.httpd.inputCharset.<Dir name>=<charset name>

<Dir name> is for the resource path used in the request URI. <charset name> is IANA character set name.

For Example: If you want to use EUC-JP charset as a default, Shift_JIS for under /i and iso-8859-1 for under /en, such as:

public_html ---- products
(EUC-JP)         (EUC-JP)
            ---- about
                 (EUC-JP)
            ---- download
                 (EUC-JP)
            ---- i
                 (Shift_JIS)
            ---- en
                 (iso-8859-1)
In this case, then the following properties need to be set:

weblogic.httpd.inputCharset./*=EUC-JP weblogic.httpd.inputCharset./i/*=Shift_JIS weblogic.httpd.inputCharset./en/*=iso-8859-1

Additional Notes:

 1) Mapping IANA charset and JAVA encoding

 You can specify mapping between IANA charset and JAVA encoding as follows:

 weblogic.httpd.charsets.<IANA charset>=<Java encoding>

The following makes mapping from a IANA EUC-JP charset to Java EUCJIS encoding:

 weblogic.httpd.charsets.EUC-JP=EUCJIS

 2) Default Mapping

 WebLogic Server has a default mapping table between IANA charset and Java encoding. Normally, you don't have to specify 
 particular mapping specification.

 3) Default charset

 If you don't specify inputCharset, then WebLogicServer handles charset the same as the Server's VM default encoding.

For example, getParameter works on MS932 on Japanese NT without specification of inputCharset.


weblogic.httpd.jsp.reloadIfTimeStampDiffers=true (CR 54985)

Added the property, weblogic.httpd.jsp.reloadIfTimeStampDiffers, which is used to complie all JSPs even if the time stamp of the JSP file is not the same as the time stamp of the generated class file.

This property is set to false by default and can be turned on by setting it to true.

One issue with this new behavior is that pre-compiled (JSPC) classes that are newer will be displaced by older JSP's in the document root every PageCheckSecs since their timestamps may differ. To turn this off, set PageCheckSecs to -1.


weblogic.httpd.maxPostSize and weblogic.httpd.maxPostTimeSecs (CR 31269)

Added two properties to define a maximum size for POST and PUT requests which can be used as a mechanism to defeat denial of service attacks. The two new properties are weblogic.httpd.maxPostSize and weblogic.httpd.maxPostTimeSecs.

The default value of both properties is -1 (unlimited). If the maxPostSize or maxPostTime is exceeded, WebLogic sends an error message (a PostTimeoutException) back to the browser and breaks the connection. When the POST size is greater than the maxPostSize we return a response with status code HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE and the connection is broken

Note: If the client has not finished sending the POST data it doesn't receive an error message from WebLogic. Instead it gets a Connection Aborted error. Plugins will be able to handle this broken pipe and send an appropriate message to the browser.

Default values for both properties are -1. This means the maxPostSize and maxPostTime are unlimited.


weblogic.httpd.redirectWithAbsoluteURL (CR 52417)

Added the property, weblogic.httpd.redirectWithAbsoluteURL, that when set to true, specifies that the absolute URL should be used in the case that the sendRedirect() method is used. This property defaults to true.


weblogic.httpd.servlet.lowercaseExtension=[true|false] (CR 44712)

The property, weblogic.httpd.servlet.lowercaseExtension property, has been added and is false by default. You can turn it on by setting the following in the web.xml or the weblogic.properties file:

<context-param>
<param-name>weblogic.httpd.servlet.lowercaseExtension</param-name>
<param-value>true</param-value>
</context-param>
If this property is set to true, all requested URI's that have extensions will be treated as lower case when compared to the servlet mappings. For example, to map all the request URI's of extension .jsp will to *.jsp., set this property to true.


weblogic.httpd.session.neverReadPostData=[true|false] (CR 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.


weblogic.httpd.unkownMimeTypeIsDefault=[true|false] (CR 35589)

Added new property, weblogic.httpd.unknownMimeTypeIsDefault=[true|false] which fixes a problem retrieving mime-type. By default this is set to false. The J2EE spec says that getMimeType() takes a filename for input as a String, and should return a NULL value if the MIME type is not known. By setting this new parameter to true, the spec is followed and the default mime type is disabled to allow null.


weblogic.httpd.WAPEnabled=[true|false] (CR 38376)

Added weblogic.httpd.WAPEnabled property. The default is false. The plugin did not recognize sticky sessions when WebLogic Server was not clustered. This property determines whether or not the server includes the JVMID. If the server is WAP enabled (weblogic.httpd.WAPEnabled=true) we will not send the server info (JVMID) in non-clustered cases.


weblogic.jms.ignoreMemExhaustCheck=[true|false] (CR 33227)

If set to true, the JMS 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. By default this is set to false.


weblogic.jolt.connectionPool (CR 39825)

A new property "weblogic.jolt.connectionPool" has been added. If this property is defined in the weblogic.proeprties file, then the Jolt session pool will be started before EJBs get deployed. The following is an example of how to set this property:

weblogic.jolt.connectionPool.demojoltpool=\
    appaddrlist=//bavaria.bea.com:27000,\
    failoverlist=//bavaria.bea.com:28000,\
    minpoolsize=1,\
    maxpoolsize=3


weblogic.jsp.windowscaseSensitive=[true|false] (CR 30869)

Added weblogic.jsp.windows.caseSensitive property. The default is false. If set to true, jspc and JspServlet do not change to lower-case the name of the generated file. The property is relevant on Windows only. The default is false (as it should be on Win32).


weblogic.login.logAllReadTimeouts=[true|false] (CR 31786)(CR 46042)

Added a new property for the weblogic.properties file: weblogic.login.logAllReadTimeouts. By default this property is set to true. If you set it to false, the server won't log a message when a read on login times out.


weblogic.security.ntrealm.domains=hostname1,hostname2 (CR 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. This property can be set to a string list of hostnames of all the trusted domains. This adds the ability to search multiple trusted domains. If a ntrealm.properties file still exists, it will be used before the weblogic.properties file will, so it's suggested to remove all instances of ntrealm.properties on your system. These can sometimes reside in c:\winnt\, so please search your entire system for the file. The command line is a good way to test connectivity. Use the following command: java weblogic.security.ntrealm.NTRealm username password. This should produce output similar to the following:

NTDelegate using Primary Domain Controller \\VULCAN
auth ? joe
enum users:
   #1 'Administrator'
   #2 'joe'
   #3 'Guest'
   #4 'NTTestUser'
enum groups:
   #1 'None'
   #2 'Administrators'
   #3 'Backup Operators'
   #4 'Guests'
   #5 'Power Users'
   #6 'Replicator'
   #7 'Users'
enum groups for user: joe
   #1 'Administrators'
   #2 'Backup Operators'
   #3 'Power Users'
   #4 'Users'
   #5 'None'
is user joe an Administrator? true
done

For details on NTRealm see WebLogic's online docs.


weblogic.security.SSL.ignoreHostnameVerification (CR 51715)

The new property, ignoreHostnameVerification, turns off the hostname verification check. The default implementation of this class in the WebLogic Server does only a String.equals() comparison of the urlHostname to the certHostname.


weblogic.system.listenDelaySecs (CR 44695)

The new property, weblogic.system.listenDelaySecs, has been added to let a cluster node know about the existence of other nodes before handling http requests. This avoids having the dynamic server list return an incorrect list of servers to the plug-ins. The default value for this property is 0.

To use this property, when starting the cluster, use the default value or assign it very small value. Once the cluster is up and running, to bring up a new server to join the cluster, assign the property a value depending on the their network speed and other configurations. To find the optimal value (probably 40 to 60 seconds):

  1. Test the cluster by pinging the new node until it returns the dynamic list.
  2. Average out the numbers.
  3. Assign a vlue that is a few seconds more than the average or is equal to the maximum value returned.


weblogic.system.maxBackoffBetweenFailures=time in milliseconds (CR 50240)

Added the property, weblogic.system.maxBackoffBetweenFailures, to enable configuration of backoff time in case of listen socket failure.

In the command line to start WebLogic server add the system property as in the following exampls: -Dweblogic.system.maxBackoffBetweenFailures=10000 weblogic.Server.


weblogic.system.maxExecuteThreadCount (CR 30826)

A new property "weblogic.system.maxExecuteThreadCount" has been added to configure the maximum number of the threads the weblogic will support. This sets the maximum the property "weblogic.system.executeThreadCount" will take. This property is configurable both from client and server. Note that there may be problems incurred by setting this property too high. See our tuning documentation for more information on performance with the WebLogic Server and execute threads.


weblogic.system.openSockCount (CR 55007)

Added a configurable property called weblogic.system.openSocketCount that is used to control the threshold that, if exceeded, rejects outstanding client requests that are already accepted but are yet to be actually served.

The threshold is not specified differently for Listen and SSLListen thread, but the same property takes care of sockets accepted in both threads and blocks both of them when the threshold is reached.


weblogic.system.priorityShutdownClass (CR 43778)

A new property "weblogic.system.priorityShutdownClass" has been added to replace the property called "weblogic.system.ShutdownClass". This new property is called earlier in the shutdown process. The settings for this property can remain as they were in weblogic.system.ShutdownClass.


weblogic.system.sysThreadCount (CR 47786)

A new property "weblogic.system.sysExecuteThreadCount" has been added to be used if using distributed transactions and the JTS driver. We recommend setting it to the value to which executeThreadCount is set unless you are only rarely using distributed transactions in your application.

The default is 0 (no system thread pool and the regular execute thread pool controlled by weblogic.system.executeThreadCount is used instead).



Additional details on WebLogic_RDBMS.jar:

We include the lib/persistence/WebLogic_RDBMS.jar file in the service pack to resolve CR 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 CR 9999, apply the weblogic510sp12.jar file as follows:

  • Server - Apply weblogic510sp12.jar to weblogic.class.path
  • EJB Deployer/Developer - Apply weblogi510sp12.jar to CLASSPATH
  • Client - Do not apply weblogic510sp12.jar



    Details on Specific CRs

    Additional details on CRS 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).


    Additional details on CR 30648:

    If you set mimeType as the following:

    weblogic.httpd.mimeType.text/x-hdml;charset=Shift_JIS=hdml

    It will be stored as:

    extension="hdml"
    mimeType="text/x-hdml;charset=Shift_JIS"

    So that when you do a context.getMimeType("foo.hdml") it will return: "text/x-hdml;charset=Shift_JIS"


    Additional details on CR 31335 and CR 30768:

    1. The "ntrealm.properties" file is no longer necessary for single domain systems.
    In the case of a single domain, the ntrealm.properties file need to be either removed or renamed from the system. Search for the existence of this file by doing a search on the root directory.

    2. If an additional trusted domain is to be added to the default domain, the ntrealm.properties file is still needed. In this case, in the ntrealm.properties, give the hostname of the other, trusted domain (note: not the domain name, the hostname).

    3. However the following property needs to be set in the weblogic.properties file in either case:
    weblogic.security.realmClass=weblogic.security.ntrealm.NTRealm

    4. For details on NTRealm see online docs.


    Additional details on CR 31492:

    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 CRS 31822:

    The following diagram illustrates the differences between setting secureProxy="ON" and secureProxy="OFF".
    This feature is set in the WebLogic properties file.

    secureProxy=ON

    BROWSER<------>HTTPS------>PROXY<------>HTTPS----->WEBLOGIC SERVER CLUSTER


    secureProxy=OFF

    BROWSER<------>HTTPS------>PROXY<------>HTTP----->WEBLOGIC SERVER CLUSTER

    By passing the secureProxy parameter as an initial argument (in WebLogic init.Args) in the cluster servlet and setting it to ON, SSL between the proxy and the clusters will be enabled. Below is a demonstration of how to turn on the secure proxy feature:

    weblogic.httpd.register.cluster=weblogic.servlet.internal.HttpClusterServlet
    weblogic.httpd.initArgs.cluster=\
    defaultServers=server1:7001:7002|server2:7001:7002,\
    secureProxy=ON


    Additional details on CRS 31877:


  • How to get userid: request.getRemoteUser()
  • How to get referred/attempted URL: request.getAttribute("weblogic.formauth.targetURL")

    These will both work on the error page of the webapp.


    Additional details on CR 32309:


    The WebLogic Server uses the "dispatch in-thread" optimization to handle in-memory replication traffic. Normally the request that is read off the socket is handled by a different thread once the request has been placed on the ExecuteQueue by the socket reader thread. In handling the "in-memory" replication traffic, the updates to the objects that are replicated need to be performed in a timely fashion. Hence the "dispatch in-thread" pattern is used to avoid a context switch and thread contention that is incurred by this request being placed on the ExecuteQueue. However, on rare occasions this pattern results in a deadlock when both sides of the connection try and update objects on behalf of each other. The deadlock has been fixed with this change by introducing an alternate ExecuteQueue--the NonBlockingExecuteQueue to service message traffic that is guaranteed not to block. This queue is used *only* by the Weblogic Server internally i.e. application requests are never placed on this queue--they are handled by placing them on the regular ExecuteQueue.


    Additional details on CR 32806:


    Setting up access log rotation: Note: Access log rotation requires WebLogic Server 5.1, Service Pack sp4 or later.

    Access log rotation allows you to rotate your HTTP access log when it reaches a certain size or after a specified amount of time has passed. When the access log rotates, a new log file with a new file name is started. The access log's file name includes a numeric portion that is incremented upon each rotation.

    To set up access log rotation, set the following properties (in addition to those properties you set to enable access logs) in your weblogic.properties file:

    weblogic.httpd.logRotationType

    Set to date to rotate your access log by date. If you choose this option, you must also set two additional properties: weblogic.httpd.logRotationPeriodMins and weblogic.httpd.logRotationBeginTime.

    Set to size to rotate your access log when it exceeds a certain size. If you choose this option, you must also set the weblogic.httpd.maxLogFileSizeKBytes property. The default value is size.

    weblogic.httpd.logRotationPeriodMins

    If you are rotating your access log by date, set this to the number of minutes after which the access log will rotate. (1440 minutes = 24 hours, 100080 minutes = 1 week). The default value is 1440.

    weblogic.httpd.logRotationBeginTime

    Sets the date when the first access log rotation will occur. If you do not set this property, the access log rotates after the amount of time specified with the weblogic.httpd.logRotationPeriodMins property. Enter the date using the java.text.SimpleDateFormat, MM-dd-yyyy-k:mm:ss. See the javadocs for the java.text.SimpleDateFormat class for more details. For example:    11-24-2000-12:30:00

    If, when you start WebLogic Server, this date has already passed, the first access log rotation will occur on the day you start WebLogic Server, at the hour, minute, and second specified by weblogic.httpd.logRotationBeginTime.

    weblogic.httpd.maxLogFileSizeKBytes

    Set to the maximum size, in kilobytes, for your access log file. When the access log reaches this size, it is rotated. If set to 0 (the default value) access log files do not rotate based on size. This property is ignored when weblogic.httpd.logRotationType is set to date.


    Additional details on CR 33258:

    Sun's ldap does not work with Microsoft's Site Server, but Netscape's ldap 4.1 does. Please follow the following steps to configure WLS5.1 with MS Site Server 3.0.

    1. Download Netscape's ldap 4.1 from Netscape's web site http://www.iplanet.com/downloads/developer/index.html and decompress it to your local directory.

    2. Include Netscape's ldap4.1's jar files (ldapfilt.jar, ldapjdk.jar, ldapsp.jar) from your local directory in WEBLOGICCLASSPATH in the startweblogic startup script.

    3. Add the following line to your ldaprealm.properties file. weblogic.security.ldaprealm.factory=com.netscape.jndi.ldap.LdapContextFactory


    Additional detail on CR34041

    You can now rotate your jdbc log. We only allow you to do this based on date. You can specify how often we should rotate the log file and when we should begin that rotation. For example, rotate every 6 hours and start the first rotation at 4pm today.

    If rotation is enabled we will automatically append a date/time stamp to the end of the log file, you can control the format of this timestamp with the property weblogic.jdbc.logFileNameFormat. The reason we have to do this is that we do not control the output stream of the jdbc.log, this is handling in java.sql.DriverManager, so we cannot lock the file, move it to a backup and then restart the log file with the same name. Thus the current jdbc.log file is the file that has the most recent date timestamp at the end of the file name.

    Added properties:

    weblogic.jdbc.rotateLog

    Set to true or false the above property in order to set whether or not to rotate the JDBC log file. This is set false by default.

    weblogic.jdbc.logRotationPeriodMins

    Defines the period in minutes when the jdbc log will be rotated. 24 hours is 1440 minutes. One week is 10080 minutes

    weblogic.jdbc.logRotationBeginTime

    Defines the date when the first rotation of jdbc log will begin. The format follows java.text.SimpleDateFormat, MM-dd-yyyy-k:mm:ss see the javadocs for more details. For example: 11-24-2000-12:30:00 Note: If not set, the next rotation is the next weblogic.jdbc.logRotationPeriodMins. If the date has already past, then the DAY_OF_WEEK, HOUR_OF_DAY, MINUTE and SECOND are used with the current date to recalculate.

    weblogic.jdbc.logFileNameFormat

    Defines the format of the date string that is appended to the jdbc log when rotation is turned on. The format follows java.text.SimpleDateFormat, and defaults to: dd_MMM_yyyy__HH_mm_ss see the javadocs for more details.


    Additonal details on CR 34303:

    There are workarounds for making these examples run. For the template example put the following in the web.xml:
        <context-param>
          <param-name>weblogic.jsp.packagePrefix</param-name>
          <param-value></param-value>
        </context-param></pre><p>
    
    For the iteration example, do the same as above. Additionally, change the list.jsp.
    Replace the following:
    
    <td><jsp:getProperty name="member" property="name"/></td>
    <td><jsp:getProperty name="member" property="phone"/></td>
    <td><jsp:getProperty name="member" property="email"/></td>
    
    with:
    
    <td><%= member.getName() %></td>
    <td><%= member.getPhone() %></td>
    <td><%= member.getEmail() %></td>
    


    Additional details on CR 34351:

    We have added a utility (beasvc.exe) to install and remove WebLogic instances as NT services. These files have been included with this Service Pack:
          - beasvc.exe              (Binary to start and stop services for 1.2 and above JVM)
    	  - beasvc_117.exe			(Binary to start and stop services for 1.1 JVM)
          - installNtService.cmd    (Script to start service)
          - uninstallNtService.cmd  (Script to stop service)
    DESCRIPTION:

    Multiple instances of WebLogic servers as NT services can be installed/removed with "beasvc.exe".

    All configurations for multiple services are stored in the registry using a different service name each time and under a server-specific hive at: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

    The included scripts (installNtService.cmd and uninstallNtService.cmd) show how one can start/stop multiple services.

    OPTIONS:

    The following are the options supported by "beasvc.exe". Options should be separated by spaces. '/' may be substituted for '-'.

    Required options:

    -install | remove Install or remove the specified service. -svcname:<user_specified_service_name> Service name associated with this service. Use the following options only when installing the service.

    
            -cmdline:<java_cmdline_parameters>
                  Required java command line parameters.
                  This should not include specification of the java command.
            -javahome:<java_home_directory>
                  Root directory of targeted java distribution.
                  The java command will be formed by appending \bin\java.
            -execdir:<base_directory_for_execution>
                  Directory out of which this command will be executed.
            -extrapath:<additional_path_environment_settings>
                  Additional path settings that will be prepended to the path
                  applicable to this command execution only.
            -help | /?
                  Prints out help.
    
    Installing a service sample:
    
     beasvc -install \
            -svcname:<Service_Name> \
            -javahome:<Java_Home_Directory> \
            -execdir:<WebLogic_Home_Directory> \
            -extrapath:<Path_To_Prepend> \ 
            -cmdline:%CMDLINE%
    
    Uninstalling a service sample:
    
     beasvc -remove \
            -svcname:<Service_Name>
     
    Starting a service:
        Go to Start->Settings->Control Panel->Services
        Start the service.


    Additional details on ZAC: CRs 40856 and 37097:

    ZAC is now compatible with JDK 1.2 and 1.3. To add ZAC support, copy the following files into the /lib folder of your WebLogic installation:
    	
    	lib/aix/zac_aix
        	lib/linux/zac_linux
        	lib/hpux11/zac_hpux
        	lib/solaris/zac_solaris
        	lib/tru64unix/zac_tru64unix   
     
    Also copy the following files to $WL_HOME/classes/weblogic/drp/admin
    (NOTE: Make sure you backup your original files):
        
    	zac/AIX_ppc.res
        	zac/AIX_ppc_g.res
        	zac/DECUnix_alpha.res
        	zac/DECUnix_alpha_g.res
        	zac/HPUX_parisc.res
        	zac/HPUX_parisc_g.res
        	zac/Linux_x86.res
        	zac/Linux_x86_g.res
        	zac/Solaris_sparc.res
        	zac/Solaris_sparc_g.res
        	zac/TRU64Unix_alpha.res
        	zac/TRU64Unix_alpha_g.res
        
    The above binaries ensure that the bootstraps generated will recognize both JDK 1.2 and JDK 1.3.
    
    Special notes For Win32 Systems

    If there is more than one JDK 's installed, ZAC will default to using JDK 1.1 To make ZAC run on a particular version of JVM, you must do two things. First, the 1.1 registry entry must be renamed to something other than 1.1. The HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java RunTime Environment's "Current Version" key *MUST* be set to the particular JRE version you wish to use. Secondly, if you have a folder titled '1.1' or a similar name inside HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java RunTime Environment, you must change this folder to some other name. Windows will ignore the setting of the current version key if it finds a folder which it thinks contains a 1.1 JRE
    Note:Editing your registry can damage your system - Make a backup before starting ("export registry").


    Additional details on CR 45413:

    If you want to connect to International version of Tuxedo through Jolt, follow the procedure given below.

    1. Copy joltintl.zip from the CD to %WL_HOME%\classes.

    2. Modify following scripts to update their class paths as given in the end.

    	setenv.cmd: update CLASSPATH
    	startConsole.cmd: update CLASSPATH (occures multiple times)
    	startSNMPAgent.cmd: update CLASSPATH
    	startWebLogic.cmd: update WEBLOGIC_CLASSPATH, CLASSPATH
    
    	The class path parameters must have %WL_HOME%\classes (or .\classes) 
    	in their path. 
    	E.g. CLASSPATH=.\classes\boot;.\classes;...
    
    	Just before the path for classes (%WL_HOME%\classes or .\classes),
    	insert %WL_HOME%\classes\joltintl.zip (or .\classes\joltintl.zip).
    
    	The above example would look like,
    	E.g. CLASSPATH=.\classes\boot;.\classes\joltintl.zip;.\classes;...
    
    	It is necessary that joltintl.zip file precedes the classes directory.


    Additional details on CRS 45879 and 47878:

    Fixed a problem with the Servlet API not providing a way for a user who had signed on to multiple webapps (Single Signon) to logout. Note that the session.invalidate() method only kills the session for the current webapp, so it cannot be used for logout in a multiple webapp situation.

    The above two CRs introduced these three new methods: New methods in weblogic.servlet.security.ServletAuthentication...

    1. public static boolean logout(HttpServletRequest req);
     
    This "logs out" the user in the session by removing the pertinent data from the sessions the user has logged into and
    also from the webserver without losing other session data.
     
    @param request           HttpServletRequest
       
      
    2. public static boolean invalidateAll(HttpServletRequest req);
     
    Invalidates all the sessions for the current user only (i.e. current cookie) and since the cookie is no longer
    required, it kills the cookie too.
     
    @param request           HttpServletRequest
     
      
    3. public static void killCookie(HttpServletRequest req);
    
    Kills the current cookie.
    
    @param request           HttpServletRequest which contains the session
    
      


    Additional details on CR 55007:

    Added a configurable property called weblogic.system.openSocketCount that is used to control the threshold that, if exceeded, rejects outstanding client requests that are already accepted but are yet to be actually served.

    The threshold is not specified differently for Listen and SSLListen thread, but the same property takes care of sockets accepted in both threads and blocks both of them when the threshold is reached.


    Additional details on CR 61595:

    As of WebLogic 5.1 Service Pack 11 there is support for interoperability with WebLogic 6.1 Servers that have Service Pack 2 or higher. When you install WebLogic Server 5.1 Service Pack 11, an example that demonstrates a 5.1 WebLogic Server calling an EJB on a 6.1 WebLogic Server is placed in the WL_HOME/examples/iiop/wls2wls directory. For more information on interoperability, see our online guide at http://download.oracle.com/docs/cd/E13222_01/wls/docs61/interop/interop.html.

    Known Issues

    1. Deprecated Oracle jDrivers

    As of Service Pack 12, BEA is deprecating Oracle jDrivers below 8.1.7. You can still use the deprecated drivers, but if your application must write more than 2000 bytes to the database using setBinaryStream, you must upgrade to 8.1.7. (See CR065200 for details).

    2. JDBC and File session persistence changes

    510 Service Packs 9 or higher require some administrative changes if your current server is using either JDBC or FILE session persistence. These changes were necessary in order to support "single signon" over multiple servlet contexts and affect all servers using session persistence. The following instructions describe how to upgrade and preserve your existing sessions.

    Please note that the workarounds suggested here to preserve existing session data only apply to web-applications that rely on long-life session persistence, where it is unacceptable to lose the session-data between server-upgrades.

    Admin changes for JDBC session persistence

    If you are using JDBC persistence you need to change the wl_servlet_sessions table to the following schema: (Note: this is Oracle syntax and you should involve your dba in making the necessary changes required to the table to reflect the schema below)

    create table wl_servlet_sessions

    ( wl_id VARCHAR2(100) NOT NULL,
    wl_context_path VARCHAR2(100) NOT NULL,
    wl_is_new CHAR(1),
    wl_create_time NUMBER(20),
    wl_is_valid CHAR(1),
    wl_session_values LONG RAW,
    wl_access_time NUMBER(20),
    wl_max_inactive_interval Integer,
    PRIMARY KEY (wl_id, wl_context_path) );

    In order to preserve your existing JDBC sessions, you will need to populate the new wl_context_path with an appropriate context according to the following criteria:

    * If you are not using the WebApp mechanism to deploy your web services, then all of your current sessions belong to the default servlet context. You should populate the new WL_CONTEXT_PATH field with the string "General".

    * If you are using only a single WebApp that is not the default, then populate the WL_CONTEXT_PATH field with the context-path name of that WebApp.

    * If you are using multiple WebApps, you must replicate each session entry in the table so that there is one entry for each WebApp. You will need to populate the WL_CONTEXT_PATH for each entry respectively with the context-path name of that entry's associated WebApp.

    Admin changes for FILE session persistence

    There are no requirements to upgrade the file structure for FILE session persistence. However if you wish to preserve your existing sessions, you must move the serialized files as follows.

    You will find the serialized directories and files under the directory specified by the property:

    weblogic.httpd.session.persistentStoreDir=storage_dir

    This defaults to the value "session_db". Where the value is a relative path, this directory exists under the "myserver" directory. You must create a new directory under this persistentStoreDir, and move the existing directories at that level to this new directory as follows. These instructions assume that the persistentStoreDir is "session_db" for simplicity:

    * If you are not using the WebApp mechanism to deploy your web services, then all of your current sessions belong to the default servlet context. Create a new subdirectory called "General" under "session_db", and move other directories under the new directory "General".

    * If you are using only a single WebApp that is not the default, then create a new directory under "session_db" with the same name as the context-path of that WebApp. Move the existing directories under "session_db" to this new directory.

    * If you are using multiple WebApps, you must create a new directory under "session_db" for each WebApp with the same name as the context-path of that WebApp. Copy the existing directories under "session_db" to each new directory that you created, then delete the original directories.

    Extra note on retrieving existing session cookies

    This note applies to deployed sites using non-default WebApp configurations that rely on session cookies.

    In Service Pack 8, WLS introduced a naming convention for session cookies whereby the context-path was appended to the default cookie-name, separated by a "-" symbol. For example, if my WebApp had the context-path "mysite", and the default session cookie name "WebLogicSession" was used, then the resulting cookie name would be "WebLogicSession-mysite". This workaround enabled separate WebApps to differentiate between session cookies that used the default cookie name. This convention has been removed in ServicePack 9 or higher in favor of using a single session ID in conjunction with the context-path to identify a session for a particular WebApp. That is, the session id is no longer required to be unique but is used in conjunction with the context-path to obtain a primary-key.

    If your WebApplication is designed to rely on long-life session cookies and you wish to retrieve these existing session cookies, you must explicitly set the cookie name in each WebApp to continue to follow this convention. While this solution will allow you to retrieve an existing user cookie, you will not be able to use the single-signon feature since that requires that you use the same cookie name for all WebApps that wish to share single-signon. If this situation applies to your site, we recommend you devise a migration strategy to move away from this model

    3. Servlets

    Note that the value returned by session.getId() will no longer return the same value as request.getRequestedSessionId(). The strings are different. Also note: if you wish to figure out if an incoming cookie has a valid session, using request.getSession(false) is the best method.

    4. The weblogic.properties file (CR 30561)

    There was a typo in the weblogic.properties file shipped with the release.

    The weblogic.properties file with the release says:

    # Add a TXDataSource for the connection pool:
    #weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.demoPool=demoPool

    It should actually be:

    # Add a TXDataSource for the connection pool:
    #weblogic.jdbc.TXDataSource.demoPool=demoPool

    5. DriverManager.getConnection()

    WebLogic's documentation and examples still, in certain instances, use the DriverManager.getConnection() method. If you are using JDK 1.2, this may sometimes generate deadlock in DriverManager.println. DriverManager.println was changed to become a 'synchronized' method with JDK 1.2. We highly recommend you use Driver.connect instead of DriverManager.getConnection(). See, http://www.weblogic.com/docs51/classdocs/urls.html#structure, for details.

    6. -compilerclass option

    The -compilerclass option does not work in Service Pack 10, so we have created a patch. If you need to use the -compilerclass option for EJBC or JSPC in Service Pack 10, contact BEA Customer Support at http://www.bea.com/support/contact_cs.shtml to get the patch for it. Reference CR 53030.

    The -complierclass option was tracked by CR 53030 and is fixed in Service Pack 11.

    7. Additional SocketExceptions in the log file (CR 63426)

    On Windows NT/2000 systems only, you will see some additional SocketExceptions appear in the log file. These are harmless messages that should normally just be logged when you are running in debug mode. The messages that appear have the following format:
    
    java.net.SocketException: ReadFile on fd=1780 failed with err=64
        at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
        at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java:259)
        at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java:178)
        at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:280)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    
    In general, SocketExceptions with "fd=" in them will be logged. These should not appear in great quantity and are usually the result of a Browser User clicking on Refresh.

    To avoid the appearance of these "fd=" SocketExceptions in the log, apply the following patch:

    ftp://ftpna.bea.com/pub/releases/510/CR063426/CR063426_510SP11.jar

    To apply this patch, add the path of this jar to the beginning of the WebLogic classpath before starting WebLogic Server. For example:

    
      $ java ...
          -classpath c:\weblogic\lib\weblogic510sp11boot.jar;
          c:\java\lib\classes.zip;
          c:\weblogic\classes\boot;
          c:\weblogic\eval\cloudscape\lib\cloudscape.jar
          -Dweblogic.class.path=c:\weblogic\lib\CR063426_510SP11.jar;
          c:\weblogic\lib\weblogic510sp11.jar;c:\weblogic\classes;
          c:\weblogic\license;c:\weblogic\lib\weblogicaux.jar;
          c:\weblogic\myserver\serverclasses
          ... weblogic.Server
    

    8. Error on HP when certain patches are installed (CR 62645)

    On HP, a SIGSEGV 11 results when WebLogic Server connects to the Oracle database using the weblogic pool upon start-up with the following patches installed:

    PHSS_21906
    PHSS_22543
    PHSS_24627

    No errors result when the PHSS_16587 patch is applied using the A.03.13 version of the /usr/lib/libstream.2 library.

    This has been corrected in Service Pack 12, and it is no longer necessary to apply the PHSS_16587 patch to avoid the error.

    9. Missing three rmi.rmic.IDLType subclasses in Service Pack 11 (CR 64160)

    Three rmi.rmic.IDLType subclasses are missing in Service Pack 11. A temporary patch is available at the following link:

    ftp://ftpna/pub/releases/510/CR064160/CR064160_510sp11.jar

    10. CR092279

    If you use Apache and our Apache plug-in on a Solaris platform, it is recommended that you turn off debugging in the plug-in. Not doing so can result in a ctime_r system call that in turn causes a core dump to occur intermittently.

    11. CR087184

    Included with the Service Pack 12 and higher is JDK 1.2.2_007. However, Windows 2000 Server and Windows 2000 Advanced Server are still not certified on this JDK. If you are using one of these platforms please use a supported jdk version, for example JDK 1.3.1_06.


    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 12".

  • We have included demo security certificates with extended expiration dates in this release.

  • We have included Apache plugins for Solaris, HP, AIX, Linux, and Tru64 in this release.



    Required browser for viewing this document: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.
    Last updated 12/12/2002

    Copyright © 2002 BEA Systems, Inc. All rights reserved.