BEA Logo BEA WLCS Release 3.5

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   WLCS Documentation   |   Release Notes   |   Previous Topic   |   Next Topic   |   Contents

Release Notes: Release 3.5 and Service Pack 2 Rolling Patch 2

 

Release Notes Version 3.5.10
Date: May 2003

Before you install and use this software, read the topics in this document.

Note: If you cannot find an issue in the Known Limitations and Workarounds section, see Miscellaneous Notes section.

Use the appropriate table of contents for the level of detail you need.

Quick-Reference Contents

Detailed Contents

 


Before You Begin

Review this section before you continue.

Determining What Steps to Complete

WebLogic Commerce Server, and WebLogic Commerce Server with Service Pack 2 with rolling patch 2, require that you have already installed WebLogic Server 6.1 with Service Pack 5.

Note: WebLogic Portal 3.5 Service Pack 2 with rolling patch 2 is supported for Win32, Solaris or HP-UX.

If you have already installed WebLogic Server 6.1, you must have WLS 6.1 with Service Pack 5 installed before you can install WebLogic Commerce Server with Service Pack 2 with rolling patch 2. If you do not have WebLogic Commerce Server with Service Pack 2 with rolling patch 2, go to the WebLogic Server Support Web site.

Use Table 1 to determine what you need to do. It is important that you complete the steps shown, in the order shown.

Table 1 Determining What WLS and WLCS/WLPS Installations and Upgrades to Complete

If you have this version of WLCS/WLPS...

and this version of WebLogic Server...

Complete these steps

WLCS Version 3.5 with no service pack

6.0 SP1 with rolling patch 1, with no service pack, 6.0 SP2, or or 6.1 without Service Pack 1



WLS 6.1 with Service Pack 1

WLCS Version 3.5 with Service Pack 1

WLS 6.0 SP2, or 6.1 without Service Pack 1



WLS 6.1 with Service Pack 1

WLCS Version 3.5 with Service Pack 2

WLS 6.1 with Service Pack 1


Note: WebLogic Portal 3.5 Service Pack 2 with rolling patch 2 is supported for Win32, Solaris or HP-UX.


WLS 6.1 with Service Pack 2

Note: WebLogic Portal 3.5 Service Pack 2 with rolling patch 2 is supported for Win32, Solaris or HP-UX.

Schema Migration Information

If you currently use a prior release of WebLogic Personalization Server with Portal Framework, see the Migration Guide for information on making your pre-3.5 data and customization available to the release 3.5 installation.

About the Product

BEA Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, and WebLogic Personalization Server with Portal Framework 3.5 enable you to build high-performance, scalable e-commerce applications. You can create customized Web-based product marketing campaigns and deliver personalized content to users of your site.

Standardized Variables

In this document, the variable BEA_HOME is used to represent a parent directory, into which BEA products and related software are installed in subdirectories. The variable WL_COMMERCE_HOME is used to represent the installation directory for Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server. The variable WEBLOGIC_HOME is used to represent the WebLogic Server installation directory. The variable EBCC_HOME is used to represent the E-Business Control Center directory.

Check E-docs for the Latest Release Notes

If you are reading a local, online copy of this document, or a printed version of this document, note that a more recent version might exist on the BEA E-docs Web site. If you have Internet access, please see http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/relnotes/index.htm and check for a more recent online version. The date of the document file's last build appears in the browser's title bar.

Depending on your browser settings, you may need to enter Shift-Reload (Netscape) or Shift-Refresh (Microsoft Internet Explorer) to see the latest version of WebLogic Commerce Server documentation pages you have already visited. When in doubt, please refresh your browser view (for documentation pages you have read previously) to ensure that you are viewing the latest content.

 


New Features in Service Pack 2

For up-to-date information about new features in release 3.5, please see the What's New page on the BEA E-docs site for Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, and WebLogic Personalization Server 3.5. The URL for this release's What's New page is http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/interm/whatsnew.htm.

Service Pack 2 adds new features to and fixes a number of limitations in the original release of WebLogic Commerce Server 3.5 and the E-Business Control Center. For a list of these fixes, see Limitations Fixed in Service Pack 1 (the fixes for the first service pack) and Limitations Fixed in Service Pack 2 (additional fixes in this service pack). For descriptions of existing limitations and their workarounds for both service packs, see Known Limitations and Workarounds.

This service pack is certified on WebLogic Server 6.1 with Service Pack 3, which is available on the WebLogic Server portion of the BEA Download Center Web site.

This service pack is not certified on any of these downloadable WebLogic Server modules: EJB 2.0 Upgrade, J2EE Connector Architecture (JCA) Beta, LDAP Security Realm Upgrade.

E-Business Control Center for Solaris 8

The E-Business Control Center is now available on the Solaris 8 platform. While not a product of Service Pack 1 itself, the E-Business Control Center for Solaris 8 includes the latest updates represented in Service Pack 1 of the Windows E-Business Control Center. For more information, see Separate Installation for E-Business Control Center.

Currency Drop-down Lists

When adding a discount, the Specify Discount Value window now has currency drop-down lists next to the Fixed and Amount Off discount fields to let you set the appropriate type of currency. Your last selection in this field remains the default selection each time until you select a different currency type. (CR 45858)

Note: You must be consistent in the selection of currency types. The price service expects all currency types to be identical for the catalog, shipping costs, and discounts. If you set a discount to use Japanese yen, for example, but the items in your catalog are set to U.S. dollars, you will get a currency mismatch error.

Expiration of Placeholder Ads in Scenarios

When creating a campaign scenario that puts an ad in a placeholder, a "Select Duration" window was added (click the new "the campaign ends" link in the query) to let you clear the ad from the placeholder after a certain time, date, or when the campaign ends. This feature addresses the issue of ads remaining in placeholders when campaigns end, or after the actions that put them there are deleted from the scenarios. (CR 46637)

While this feature ultimately clears ads from placeholders at a specific time, there is still a possibility that unwanted ads could remain in placeholders when they should not. For example, if you delete the scenario action that puts an ad in a placeholder (through an ad query), the ad query still remains in the placeholder, and the customer still sees the ad even though you have deleted the action. It takes another action to replace the ad query in the placeholder. For this reason, we recommend this: For each scenario that includes an ad placeholder action, include another action that displays a default ad in the same placeholder when a customer logs in. That type of action resets the ad to a non-campaign-specific ad each time a customer logs in.

For more information about clearing ads from placeholders, see "Setting up Ads for Campaigns" in the Guide to Developing Campaign Infrastructure.

Clearing Campaign Data

When you modify an active campaign and save it, a Save Campaign dialog box appears, letting you clear ad buckets, ad counts, end states, and pending e-mail batches. (CR 46638)

Premature Discount Expiration Warning

If a campaign contains a discount that expires before the campaign has ended, a Premature Discount Expiration dialog box appears, warning you about the discounts that will expire. The dialog box was added to help you avoid offering expired discounts. (CR 46639)

 


Notes on Service Pack 2

This section contains information about the items added in this service pack.

About the New DDL Files

In July 2001, BEA posted a WLCS_35_DDL.zip file on the BEA Download site that adds support for the following types of databases:

For more information, please see the section titled "About the WLCS_35_DDL.zip Download File" in the Supported Platforms and DDL File chapter of the Installation Guide.

Note: The readme.txt file for SQL Server 7.0 (unzipped to db\sql_server\7\readme.txt) that is contained in WLCS_35_DDL.zip is missing the following instructions:

  1. Update the commerce.jdbc.pool.url property in the weblogiccommerce.properties file, which resides in the WL_COMMERCE_HOME directory.

  2. Set up the JDBC Connection Pool through the WebLogic Server Console, which will update the WL_COMMERCE_HOME\config\wlcsDomain\config.xml file.

Database Performance

The Cloudscape 3.5.1 database that ships with the product is for demonstration purposes only. It is not a multiuser database and its performance might not be satisfactory for your e-commerce site.

To improve the response time of the bundled example portals, and experience WebLogic Commerce Server 3.5 performance at production standards, switch from the default Cloudscape database to other RDBMS systems that release 3.5 supports. For information on supported systems, see the Supported Platforms chapter in the Installation Guide.

Instructions for switching from Cloudscape to other supported database types are in the Deployment Guide.

Note: Also see the Informix Cloudscape Web site at http://www.cloudscape.com for information about downloading a version of the CloudView program that works with Java 2 SDK 1.3.1.

Disclaimer Regarding Use of Integrations

Use of BEA WebLogic Commerce Server in connection to and operation of third-party software, services and applications is entirely at the user's risk. BEA Systems, Inc. disclaims all liability and responsibility for the operation, accuracy and results of such software, services and applications.

Location of Supported Platform Information

The platform information that resided in prior versions of the Release Notes is now presented in the "Supported Platforms" chapter of the Installation Guide.

We recommend that you refer to that chapter before continuing, to get the latest supported platform information for this release.

Netscape and Cloudscape Issue

There is an issue with the Netscape browser while accessing a Web application that uses Cloudscape 3.5.1. The combination of Netscape on the client side and Cloudscape on the server side produces undesired behavior. For example, when you try using the search function, the browser may stall and return an error. The error message is:

A network error occurred while Netscape was receiving data. 
(Network Error: Connection reset by peer)
Try connecting again.

Also, during the process to check out an order, the connection may time out. The console may show transaction rollbacks. For this reason, the default StartCommerce.bat procedure has been coded with the -classic VM switch, instead of -hotspot, used in the command that starts the server. If you switch from Cloudscape to Oracle, you should edit StartCommerce.bat and change the -classic switch to -hotspot for increased performance.

When you are using Oracle, the line to change in StartCommerce.bat is:

REM  
REM This is set to -classic to work in Cloudscape. For a production environment
REM this should be set to -hotspot for better performance.
REM
SET JAVA_VM=-classic

Note: At this time, BEA recommends that you not use the Netscape browser when the Web application is configured to use the Cloudscape database. For information about switching from Cloudscape to Oracle, please see the Deployment Guide.

Native I/O Issue on Windows

While using a Netscape browser, it is possible that problems may occur on a Windows 2000 server due to a Native I/O issue. The Native I/O issue contributes to timeouts in Netscape and, in some cases, access violations in native code. Disabling native I/O from the WebLogic Server 6.0 Console will prevent this from happening.

 


Limitations Fixed in This Release

This section lists limitations that were fixed in the initial 3.5 release and in subsequent service packs.

The Change Request (CR) numbers are used by BEA to track reported limitations. Only a brief summary of the fixed problem is shown in the list. If you need more information about former problems, please see the version 3.2 Release Notes on e-docs, at http://download.oracle.com/docs/cd/E13210_01/wlcs/docs32/relnotes/index.htm.

Limitations Fixed in Service Pack 2

The following limitations are fixed since the release of Service Pack 1; see Limitations Fixed in Service Pack 1 for items fixed in the prior release of Service Pack 1.

Limitations Related to WLCS 3.5

Limitations Related to Porting WLCS 3.5 to Run on WLS 6.1 With Service Pack 1

Limitations Fixed in Service Pack 1

The following limitations that existed in the initial release of WebLogic Commerce Server 3.5, WebLogic Personalization Server with Portal Framework 3.5, and Campaign Manager for WebLogic 1.1 were fixed in Service Pack 1. Some issues that have been fixed but require more explanation appear in Miscellaneous Notes.

See Limitations Fixed in Service Pack 2 for items fixed after the release of Service Pack 1.

Limitations Fixed in the Initial Release

The following limitations that existed in the WebLogic Commerce Server 3.2 release were fixed in the initial WebLogic Commerce Server 3.5 release.

 


Known Limitations and Workarounds

This section contains information about existing limitations and workarounds, where possible.

Service Pack 2

Table 2 describes limitations in Service Pack 2 for BEA Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, or WebLogic Personalization Server with Portal Framework 3.5 release. Where possible, suggested workarounds are provided.

These are limitations and workarounds in addition to those listed for Release 3.5 and Service Pack 1, in Table 3.

Please contact BEA Customer Support for assistance in tracking any unresolved problems. For contact information, see Contacting BEA Customer Support.

Table 2 Known Limitations and Workarounds in Release 3.5 and Service Pack 2

CR041216

Cannot set WLCS_USER --> PROFILE_TYPE for external users.

Problem

There is no way to set the PROFILE_TYPE in the WLCS_USER table when you use WebLogic Commerce Server with an alternate security realm.

You cannot use the admin tool or a createUser tag or createUser method because you are not allowed to create users under anything but the RDBMSRealm.

The external user is not added to the WLCS_USER table with IS_EXTERNAL set equal to 1 until a <um:getProfile> is performed for the user.

If you have a mix of external users, some of which are UUP users and others that are WLCS Users, then they may have problems because they could not transparently load the user profile with <um:getProfile> or with the CachedProfileBean. Users must specify "profileType" or use setProfileType() to load it.

The CachedProfileBean constructor that accepts a username does not automatically get the profile type from WLCS_USER --> PROFILE_TYPE. You must explicitly call the setProfileType() method.

Platform

All

Workaround

When you use a UUP in conjunction with an alternate security realm that is not the RDBMSRealm (such as the LDAPRealm), you must complete additional steps to ensure that a row for the UUP is inserted into the WLCS_USER table before the UUP bean is used.

When you are not using a UUP, a WLCS User that exists in an external realm is inserted into the WLCS_USER table the first time a UserImpl.ejbFindByPrimaryKey() is called. It delegates to EntityImpl.ejbFindByPrimaryKey() which calls UserSmartBMP.exists(). That inserts the row for the user into the WLCS_USER table with IS_EXTERNAL = 1 and PROFILE_TYPE = null. A "null" PROFILE_TYPE means that the user is a WLCS User.

When you are using a UUP with an external realm, you must synchronize the WLCS_USER table with your UUP before you use the bean. To do this, insert a row for the bean in WLCS_USER with IS_EXTERNAL PROFILE_TYPE set to the name of the UUP as registered through the WLCS admin tool.

One way to do this automatically is to override ejbFindByPrimaryKey() in your UUP implementation class. Your ejbFindByPrimaryKey() method would first verify that the user exists in your UUP table and then check the WLCS_USER table for a row for this user. If it doesn't exist in WLCS_USER, then check for the user in the realm using the WLS security API. Use weblogic.security.acl.Security.getRealm() to get the weblogic.security.acl.CachingRealm and then use CachingRealm.getUser(String username) to find the user in the realm. If the user is in the realm, then insert it into the WLCS_USER table. Set IS_EXTERNAL=1 and PROFILE_TYPE = the profile type in your UUP deployment descriptor that matches the registered name in your admin tool.

CR044554

Editing a scenario's placeholders leaves unnecessary ad buckets

Problem

A scenario with an ad action that has already given a customer his or her ad buckets will not "clean up" after itself when the scenario's placeholders are edited. Instead, the old ad buckets will remain active, serving ads to the old placeholders. This happens when you follow these steps:

  1. Create a simple scenario via the Control Center to display ads to 'Main Page Banner'

  2. Log into the wlcs templates with a user, so that an ad_bucket is created for him or her, for this campaign


  1. Go back to the Control Center and change the placeholder for this scenario to 'Main Page Side'

  2. Log in again with the same user

A new ad_bucket will be created that plays ads in 'Main Page Side'. However, the old bucket for 'Main Page Banner' will still be there, and continue to serve him or her ads in that placeholder.

Platform

All

Workaround

This is the proper function for these features, but can appear unexpected. The behavior might be desired or not, depending on the situation.

Two fixes were made in SP 1 to address this issue:

CR045126

PriceService method computeSubtotal() sets the actual shipping price to zero.

Problem

The PriceService method computeSubtotal() sets the actual shipping price to zero, regardless of the base shipping price specified in the PricingRequest object. computeTotal() works properly.

Platform

All

Workaround

None.

CR045178

WebLogic Server and WebLogic Commerce Server sometimes hang, and intermittantly display an out of memory error.

Problem

WebLogic Server and WebLogic Commerce Server sometimes hang, and intermittantly display an out of memory error.

Platform

All

Workaround

If you want to use Cloudscape for demonstration purposes, disable HotSpot and use the classic Virtual Machine. To do this, use the -classic switch.

If you installed the Java HotSpot Server VM on version 1.2.2 of the Java 2 Platform, it is automatically the default VM. You can invoke the Java 2 Classic VM instead by using the -classic command-line option.

Sun provides additional documentation at the following site:

http://java.sun.com/products/hotspot/2.0/README.html

CR051035

Needed capability to allow running WebLogic Commerce Server 3.5 as a Windows service.

Problem

Files for creating a Windows service were not included.

Platform

WIntel

Workaround

Use the instructions below to create the two necessary scripts, installWLCSNtService.cmd and uninstallWLCSNtService.cmd, and place them in the appropriate directory.


Installing WLCS 3.5 as an NT Service

WLCS 3.5 can be installed as an NT Service. But please be aware of a detail of this implementation. The standard StartCommerce script that starts WLCS 3.5 in fact starts two separate processes. It starts a "net service" process, and it starts the main server process. The reason for this is to isolate the main server process from issues that exist in certain modules. Specifically, the TaxWare and CyberCash implementations rely heavily on Java Native Interface (JNI) calls into the vendor libraries, and may cause platform specific problems. Isolating the main server process from these problems enhances uptime and overall stability.

Having two separate processes does cause a problem when porting to an NT Service however. An NT Service maps to a single process. The workaround provided is to have 2 separate services associated with WLCS 3.5. Fortunately, it is not important that one service start before the other. It is sufficient to start both services at approximately the same time. WLCS_35_netservice: this service hosts the JNI-heavy processing such as TaxWare and CyberCash. This service will start up very quickly (under 10 seconds).

The WLCS_35 service WILL NOT start up without properly configuring this file. Since this process takes a while to start up, it is easy to mistakenly try and access it before it is ready. This will cause the browser to show an error.

Included Files:

installWLCSNtService.cmd

This batch file installs the NT Services into your service registry. You need only run this once. You must place this file in your WL_COMMERCE_HOME directory. See text of file immediately following this explanation.

uninstallWLCSNtService.cmd

This batch file uninstalls the NT Services from your service registry. You must place this file in your WL_COMMERCE_HOME directory. See the following information:


REM ----------- Set up the command lines -----------
SET WLCS_NET_CMDLINE="%JAVA_VM% -classpath \"%CLASSPATH%\" com.beasys.commerce.netservice.http.server.SimpleHTTPServer"
set WLCS_CMDLINE="%JAVA_VM% -Xms128m -Xmx128m -classpath \"%CLASSPATH%\" -Dcloudscape.system.home=\"%WL_COMMERCE_HOME%/db/data\" -Dweblogic.Domain=\"%DOMAIN_NAME%\" -Dweblogic.Name=\"%SERVER_NAME%\" -Dbea.home=\"%BEA_HOME%\" -Djava.security.policy==\"%WEBLOGIC_HOME%/lib/weblogic.policy\" -Dcommerce.properties=\"%WL_COMMERCE_HOME%/weblogiccommerce.properties\" -Dpipeline.properties=\"%WL_COMMERCE_HOME%/pipeline.properties\" -Dwebflow.properties=\"%WL_COMMERCE_HOME%/webflow.properties\" weblogic.Server"
REM ----------- Create the services -----------
%WEBLOGIC_HOME%\bin\beasvc -install -svcname:WLCS_35_netservice -extrapath:%QT_PATH% -javahome:%QT_JDK_HOME% -execdir:%WL_COMMERCE_HOME% -cmdline:%WLCS_NET_CMDLINE%
REM *** Install the WLCS service
%WEBLOGIC_HOME%\bin\beasvc -install -svcname:WLCS_35 -extrapath:%QT_PATH% -javahome:%QT_JDK_HOME% -execdir:%WL_COMMERCE_HOME% -cmdline:%WLCS_CMDLINE% 
ECHO WARNING: you must create a password.ini file in the .\config\wlcsDomain folder to use the WLCS_35 service
ECHO See the Weblogic documentation at http://www.oracle.com/technology/documentation/index.html for more information on password.ini
ENDLOCAL


uninstallWLCSNtService.cmd
@echo off
SETLOCAL
REM install WLCS 3.5 as an NT service
REM setup shell variables
CALL .\bin\win32\set-environment.bat
rem *** Uninstall the services
%WEBLOGIC_HOME%\bin\beasvc -remove -svcname:WLCS_35_netservice
%WEBLOGIC_HOME%\bin\beasvc -remove -svcname:WLCS_35
ENDLOCAL

CR052622

Make additional changes related to fixing problem of OrderLine IDs not being loaded from database.

Problem

The following problem was fixed in this release, but you must complete additional steps, outlined in Workaround, to take advantage of the fix.

The IDs associated with each order line are not being refreshed from the database. This happens when you complete the following steps:

  1. Modify orderstatus.jsp to print out the order line ID.

  2. Submit an order.

  3. View order status. Orderlines with have unique IDs.

  4. Stop and restart server.

  5. Log in as user and view order status again. All IDs will be 0.

Platform

All

Workaround

Set the ID for a new OrderLine. You must do this before you add the line to the Order. Failure to do so will cause a null pointer exception. If you have a customized version of CommitOrderPC from a previous release, it will be affected. Use the new CommitOrderPC as a reference.

CR052736

Cloudscape database on UNIX.

Problem

The Cloudscape database cannot be used with UNIX platforms to run the demo applications for WebLogic Commerce Server, because it might cause the server to hang. This is a known Cloudscape issue on JDK 1.3.0 and on JDK 1.3.1.

Platform

UNIX

Workaround

None.

CR054226

Cannot install WebLogic Commerce Server 3.5 if WebLogic Server 6.0 was not assigned a program group during installation.

Problem

If WebLogic Server 6.0 was installed without creating a program group, the registry.xml file is not created and WebLogic Commerce Server 3.5 is not installed.

Platform

WIntel

Workaround

You must install WebLogic Server and assign a program group.

CR055273

Setting up a webflow to use a Web application other than wlcs.

Problem

Documentation was not provided on setting up a webflow to use a Web application other than wlcs.

Platform

All


Workaround

  1. Create a new Web application directory named wlcs_two by copying and pasting the wlcs directory and renaming it wlcs_two in the wlcsApp directory.

  2. Edit the WL_COMMERCE_HOME/config/wlcsDomain/applications/wlcsApp/
    META-INF/application.xml file, and place a reference to the new module there. For example:
    <module>
        <web>
          <web-uri>wlcs_two</web-uri>
          <context-root>wlcs_two</context-root>
        </web>  
    </module>

    Note: Make sure you type this exactly as you see it. It is case sensitive and spaces should not be used.

  3. Edit the config.xml file in the wlcsDomain directory. Search for "wlcsApp" to find this section near the end of the file. Add the following entry within the <Application Deployed="true" Name="wlcsApp"....> element:
    <WebAppComponent Name="wlcs_two" ServletReloadCheckSecs="300" Targets="wlcsServer" URI=" wlcs_two "/>

  4. Edit ..\wlcs_two\Web-inf\web.xml
    <!-- The WLCS application URL for the webflow. If not specified, defaults to 
    "/application/commercewf" -->
       <context-param>
          <param-name>WLCS_APPLICATION_URL</param-name>
          <param-value>/application/wlcs_two</param-value>
       </context-param>

  5. Edit ..\wlcs_two\Web-inf\weblogic.xml
       <session-param>
            <param-name>CookieName</param-name>
            <param-value>
              JSESSIONID_WLCS_TWO_COMMERCE
            </param-value>
        </session-param>

    Note: This step is only necessary if you want to change the cookie name.

  6. Edit ..\wlcs_two\index.jsp
         <%
            response.sendRedirect("/wlcs_two/application/wlcs_two");
       %>

  7. Start the WebLogic Commerce Server.

  8. Log into the WebLogic Commerce Server Administration Tool. If you installed WebLogic Personalization Server with the default settings, you can use this URL in a browser that is invoked on the same machine as the server:
    http://localhost:7501/tools.

    The default username is administrator and the default password is password.

  9. Use the Property Set Management tool to create a new Application Init property set "wlcs_two"

  10. Click the triple-can icon on the Property Set Management banner. This will take you into the Property Set Manager.

  11. To register wlcs_two, you need to create a new property set. Click the Create button on the banner.

  12. You are presented with a form.

    1. In the Name field, enter wlcs_two.

    2. In the Description field, enter something like My wlcs_two.

    3. In the Copy Properties From drop-down list, select APPLICATION_INIT.commercewf.

    4. Finally, in the Property Set Type drop-down list, enter APPLICATION_INIT.

    5. Once you have completed the form, click the Create button.

  13. You have just created a property set that will be used to register your application. Click the Back button.

    Note: Clicking Back will fail with an "Authorization Failed" message if your browser does not allow cookies. In this case, you must change your browser settings to allow cookies for the Administration Tool to function properly.

  14. View your site in a browser: Test your webapp as follows:

    1. Open a browser window and type http://localhost:7501/wlcs_two.

    2. Replace localhost in this URL with the name of the machine the server is running on if it is different from the browser's machine.

    3. Replace 7501 if you changed the listening port of WebLogic Server during the WebLogic Personalization Server installation.

    4. If you created a portal and a property set with a different name, replace wlcs_two with the name of the property set.

CR055363

Updated TAXWARE information.

Problem

The section of documentation in question is in "Specifying Your Company's ID and Business Location" at http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/order/tax.htm

Platform

All

Workaround

WebLogic Commerce Server 3.5 recognized the parameter taxware.businessLocation instead of taxware.businessLocationCode. It now recognizes taxware.businessLocationCode.

This release has also set taxware.companyId to "Widgets R Us" and taxware.businessLocationCode to "Boulder Loc". These parameters must be set to these values for the evaluation version of TAXWARE provided with the product. TAXWARE will not calculate taxes for foreign addresses (outside the US and Canada) if companyId and businessLocationCode are not set to these values.

If you buy TAXWARE and generate your own data, you can set those two properties to the values appropriate for your configuration.

CR055717

Addition information for SessionLoginEvent

Problem

The SessionLoginEvent assumes you are using form-based authentication (j_security_check). If you are not using form-based authentication, you must write code to dispatch the event yourself.

Platform

All

Workaround

Please refer to the documentation at the following location for information about writing the code mentioned in the Problem section:

http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/events/overview.htm#1015003

CR056704

WebLogic Commerce Server 3.2 and 3.5: Issues with "NoClassDefFoundExc." for classes in WEB-INF/classes or /lib

Problem

Assume you want to develop with my classes under your Web application's WEB-INF/classes directory so that WLS automatically picks up changes while it is running. However, NoClassDefFoundException occurs because the com.beasys.commerce.webflow.WebflowAdvisor cannot find the class under the Web application's WEB-INF/classes directory. It finds the classes when they are in the WebLogic Server global, java.class.path, but WebLogic Server does not reload changed classes automatically in that case.

To address this issue, use the information in the Workaround section.

Platform

All

Workaround

The system classloader, created when the JVM starts, loads classes that are in the java.class.path. This includes WebLogic Commerce Server classes that are independent of any single web application, like WebflowAdvisor and PipelineExecutor. When a web application is deployed, WebLogic Server creates two new classloaders—one for EJBs and one for Web applications. The EJB classloader is a child of the system classloader and the web application classloader is a child of the EJB classloader. The web application classloader will load classes from WEB-INF/classes and WEB-INF/lib.


Since classloaders are hierarchical, and a child can find a class in its parent's classloader but not vice versa, classes loaded by the system classloader have no knowledge of classes loaded by the EJB classloader or the Web application classloader. This is why the WebflowAdvisor can't find classes under the Web application's WEB-INF/classes directory—WebflowAdvisor is not part of the Web application. Classes located in the Web application's WEB-INF/classes directory are only accessible by any JSPs or servlets that are a part of the web application.


The answer is to place these classes in your java.class.path, and consequently they cannot be hot deployed.

Related: Any pipeline components or input processors you create cannot be placed in your Web application's WEB-INF/classes or WEB-INF/lib directory, because the PipelineExecutor cannot find them there. This means they must be located outside the .war file (or outside the directory structure of the Web application).

CR059070

A documentation enhancement was added for WebLogic Commerce Server, regarding SessionLoginEvent and campaign activation.

Problem

Campaigns are not activated because the SessionLoginEvent was never fired, if the ServletAuthentication class was used instead of j_security_check, or if j_security_check was used without specifying an <auth-filter>.

Platform

All

Workaround

If you are using campaigns, the SessionLoginEvent must be fired before a campaign will be activated. This is because the scenario's rules typically include this event as a condition. In addition, Campaign Manager requires the user to be logged in before executing.

How the SessionLoginEvent gets fired depends on how you are logging users into the system. If you're using the j_security_check servlet (form based authentication), this event can be fired internally using the Weblogic Server j_security_hook. An Auth Filter class gets invoked via a RequestDispatcher.include() from inside the servlet engine just before and just after authentication using j_security_check (see http://download.oracle.com/docs/cd/E13222_01/wls/docs60/javadocs/weblogic/servlet/security/AuthFilter.html).

The Auth Filter class is specified using the <auth-filter> element of the weblogic.xml file for your web application. For WLCS, the <auth-filter> must be set to "com.bea.commerce.platform.tracking.internal.AuthFilterImpl"; this class fires the SessionLoginEvent.

IMPORTANT: To ensure that the SessionLoginEvent is fired when you are using j_security_check, make sure the following line is present in the weblogic.xml file for your web application: <auth-filter>com.bea.commerce.platform.tracking.internal.
AuthFilterImpl</auth-filter>

See the weblogic.xml for the wlcs sample application for an example. Note that the order of XML elements is important; refer to http://download.oracle.com/docs/cd/E13222_01/wls/docs60/programming/webappdeployment.html#1006657 for more information.

If you are not using j_security_check—for example, if you're using the <um:login> tag or the ServletAuthentication class to do authentication—you must fire the SessionLoginEvent yourself when the user logs in. See LoginCustomerIP.java for an example of how to do this.

A note about the sample applications: The exampleportal application uses j_security_check. The AuthFilterImpl class, specified by the <auth-filter> element in the weblogic.xml file for the exampleportal application, fires the SessionLoginEvent.

In the wlcs sample application, there are two types of logins: implicit and explicit. Explicit login happens when a user clicks the login button; login.jsp is invoked, and this uses j_security_check and the Auth Filter class as described previously. Implicit login happens when a user registers; once registration is complete, LoginCustomerIP.java is invoked to implicitly log in a user. LoginCustomerIP uses a ServletAuthentication object to do this implicit login, and then fires the SessionLoginEvent.

CR 60887

The behavior of workingdir varies depending on how the Web application is deployed.

Problem

In DefaultDestinationDeterminer, the getWorkingDirFiles(ServletConfig aConfig) method gets a list of all files in the workingdir (specified by the app init property set). A bug in the implementation could cause unnecessary searches if the application is deployed as a .war file instead of as an exploded directory structure.

Platform

All.

Workaround

Please see BEA Support to receive a patch for this problem. Be sure to provide the CR number associated with this issue.

CR061176

Users were unable to create only tables for WebLogic Personalization Server, or only tables for WebLogic Commerce Server.

Problem

Users were unable to create only tables for WebLogic Personalization Server.

Platform

All

Workaround

Always run the create_all.sql script. Do not run a subset of the scripts run by create_all.sql. (Not running the sample datainserts, as specified under "Prevent Sample Data from Loading" in the Deployment Guide, is all right.) This is not recommended and might cause unpredictable behavior.

If you are using Oracle:

Follow the instructions in the Deployment Guide to set up your Oracle database by running the create_all.sql script.

For other databases:

Refer to the readme.txt file for each supported DBMS in WLCS_35_DDL.zip for additional information. You must run the appropriate create_all.bat or create_all.sh script to create the database objects for your DBMS.

CR061407

New user creation errors with AIX JDK 130.

Problem

When creating a new WebLogic Commerce Server user, a core dump may occur using AIX JDK 130.

Platform

AIX 4.3.3

Workaround

Before starting the WebLogic Commerce Server, configure your environment with the following setting:

JITC_COMPILEOPT=NALL{com/beasys/commerce/foundation/property/EntityPropertyManagerImpl}{getProperties}{com/bea/commerce/platform/mail/MailServiceBean}{addToBatch}

The JIT will compile and skip most of the optimization steps.

CR079424

The "timeout" Application Init property set is used for cookies and

sessions.

Problem

The "timeout" property in the Application Init property set for a portal is used for both the autologin cookie maxAge and for the portal session timeout. This can lead to conflicts. There should be separate "cookiemaxage" and "portalsessiontimeout" properties.

Platform

All.

Workaround

Please see BEA Support to receive a patch for this problem. Be sure to provide the CR number associated with this issue.


 

Release 3.5 and Service Pack 1

Table 3 describes limitations in the BEA Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, or WebLogic Personalization Server with Portal Framework 3.5 release. Where possible, suggested workarounds are provided.

Please contact BEA Customer Support for assistance in tracking any unresolved problems. For contact information, see Contacting BEA Customer Support.

Table 3 Known Limitations and Workarounds in Release 3.5 and Service Pack 1

CR 33972

es:transposeArray tag throws "ClassCastException".

Problem

es:transposeArray tag throws ClassCastException and does not output expected content from body of tag.

Platform

All

Workaround

Do all of the following:

CR 34401

Successive attempts at running the DBLoader on Cloudscape fail.

Problem

Successive attempts at running the DBLoader on Solaris with the Cloudscape database fail with the error message:

WARNING: Cloudscape (instance XXX) is attempting to boot the database /db/data/Commerce even though Cloudscape (instance XXX) may still be active. Only one instance of Cloudscape should boot at database at a time. Severe and non-recoverable corruption can result and may have already occurred.

Platform

Solaris

Workaround

Delete the db.lck file in the WL_COMMERCE_HOME/db/data directory and run the DBLoader again.

CR 34402

The DBLoader does not allow empty DATE input values.

Problem

In the comma-separated value (CSV) DBLoader input files, columns of type DATE or TIMESTAMP cannot have empty values during insert and update operations.

Platform

All

Workaround

In the CSV file, specify empty DATE or TIMESTAMP fields as null.

CR 35555

If you change the document management XML schema files, the E-Business Control Center does not display the changes.

Problem

In the reference document repository, which gets schema information from XML files on the file system, if you change the XML schema files the E-Business Control Center does not display the changes. The XML schema files might change when you run the BulkLoader, or loaddocs, or loadads against content that has new metadata properties.

Platform

All

Workaround

Restart the server. Note that currently you cannot restart the docPool connection pool in the WebLogic Server Console due to a WebLogic Server limitation (CR 42134).

CR 35571

Hot deploy will not work for the EJBs as currently shipped because the *Impl.class files are also included in the weblogic.class.path classpath.

Problem

As currently shipped, hot deploy will not work on the WebLogic Personalization Server with Portal Framework and WebLogic Commerce Server EJBs, because the *Impl.class files are also included in the java.class.path classpath. This is done to allow extension of the WebLogic Commerce Server Beans without also having to include the parent class in the deployment.jar.

Note: Prior to the 3.5 release, the relevant classpath was weblogic.class.path. Now it is java.class.path.

Platform

All

Workaround

To use hot deploy, it is recommended that all EJBs be deployed in one JAR. To do this:

  1. Extract all the .jar files.

  2. Combine the ejb-jar.xml and weblogic-ejb-jar.xml for all of the .jar files.

  3. Place all .xml files in a joint META-INF directory.

  4. ReJAR everything, deploy only that .jar.

Remember to remove the *Impl.class files for the deployed beans from the java.class.path classpath.

Note: Do not remove Belongings *Impl.class files; they are not EJBs.

CR 35577

Not all JSP template fields validate input.

Problem

Some of the WebLogic Commerce Server JSP templates do not impose input field limitations. In these JSPs, if user enter a long value, WebLogic Commerce Server will throw an exception.

For example, if a user enters a 200-character name in the user profile, WebLogic Commerce Server will throw an exception and the user will see an Internal error - 500 message.

Platform

All

Workaround

Add field validation to the templates that do not impose these limitations. Note that the sample templates were coded to show basic functionality only. Developers who customize the templates should add input validation where appropriate to the application.

CR 39051

Webflow Editor fails without error message if it cannot write to properties file.

Problem

The Webflow editor fails without any error message if it cannot write to the webflow.properties file.

Platform

All

Workaround

If this happens, change the webflow.properties file attributes from read-only to read-write.

CRs 41363 and 43378

Metatags dropped from BulkLoader in some instances.

Problem

In some instances, the BulkLoader is unable to find metadata attributes in <META> tags in HTML files.

Platform

All

Workaround

If you have problems with the BulkLoader/loaddocs correctly finding metadata supplied in <META> tags in HTML files, put the metadata in a .md.properties file instead. For details, see the Content Management documentation.

CR 42318

Ad counts are updated in the database before the ad is actually displayed.

Problem

Advertisement displays will be recorded in the database at page generation time, not at display time. This means that the display count for an ad will be updated, potentially, before the ad media is actually viewed by the user in their browser. This can happen, for example, when the user hits the Stop button in the browser before the browser finishes rendering the JSP. This happens for all ad media types, such as images, text, Shockwave, and so on.

Platform

All

Workaround

None

CR 43291

E-Business Control Center cannot connect using port 7502 (SSL).

Problem

The E-Business Control Center client cannot connect using port 7502 (secure SSL side). This means that you cannot use the E-Business Control Center to access servers that are outside your firewall.

Platform

Supported platforms for the E-Business Control Center.

Workaround

Use the E-Business Control Center within your firewall on your corporate Intranet.


CR 43767

Oracle driver freezes when using CLOB

Problem

OciLobReader.read(char[], int, int) returns -1, causing code that uses read(char[], int, int) think the CLOB is size 0.

Platform

All

Workaround

Request a one-off WebLogic Server 6.0 patch from customer support for CR043767 for WebLogic Server 6.0 Service Pack 2 and earlier.

CR 43821

Portal name length limitation

Problem

An error occurs when creating a portal with a name longer than 254 characters.

Platform

All

Workaround

Create portals with names of 254 characters or less.

CR 44675 and CR 47334

E-mail with double-byte characters is mangled, and inserted content type of text/plain causes HTML e-mail to be rendered as plain text

Problem

Double-bye character mangling in e-mail is fixed in only the Japanese version of WebLogic Commerce Server with Service Pack 1. It is not fixed in the English version.

There is also an issue with rendering HTML e-mail content. Even though you set the content type in a mail JSP as text/html, the mail service inserts an additional content type of text/plain, causing some e-mail applications to display HTML e-mail as plain text with visible HTML tagging.

Platform

All

Workaround

Contact support and request a one-off patch for CR044675.

CR 44788

Need to modify proxy server's plug-in settings to account for unique cookie names per Webapp.

Problem

The sample applications for WebLogic Commerce Server and WebLogic Personalization Server with Portal Framework are shipped with unique cookie names configured for each Web application in the weblogic.xml descriptor, because these sample applications do not use or require the single-user sign-on feature. In this configuration, if you are using a proxy server, you will need to modify its plug-in's settings because they are normally only aware of a single cookie.

Platform

All

Workaround

Configure the plug-ins to do proxy by path. For example:

ppath=*/webapp1/* => set CookieName="foo"
ppath=*/webapp2/* => set CookieName="bar"

Currently, you can do this in the NSAPI plug-in easily by defining multiple objects. In ISAPI you can achieve this by defining virtual directories and pointing them to different iisproxy.ini files having different CookieNames. Currently you cannot do this in Apache because it does not allow you to overwrite CookieNames.

CR 44864

E-Business Control Center window sometimes loses its mouse focus on Windows Me.

Problem

In some cases on Windows Me client systems, an E-Business Control Center modal window may lose its mouse focus.

Platform

Windows Me.

Workaround

Switch to the E-Business Control Center main window with Alt+Tab. This should reset the modal dialog to the front. If you cannot get to the modal dialog, then you must restart the E-Business Control Center.

CR 44871

Must set CookieDomain in weblogic.xml, to allow WebLogic Commerce Server templates to work correctly in Netscape with cookies enabled.

Problem

The sample WebLogic Commerce Server templates do not work with cookies enabled for Netscape 4.5 and higher. This problem does not occur with Microsoft Internet Explorer.

Platform

All, when using Netscape 4.5 and higher.

Workaround

To fix this problem, we added a new session parameter in the WLCS Web application's weblogic.xml:

<session-param>
<param-name>CookieDomain</param-name>
<param-value>.mycompany.com</param-value>
</session-param>

Before using the WLCS Web application in Netscape, uncomment these tags and change the CookieDomain parameter value in weblogic.xml from .mycompany.com to the company domain name. This weblogic.xml file is in the WL_COMMERCE_HOME\config\wlcsDomain\applications\wlcsApp\wlcs\WEB-INF directory.

CR 45010

Value for a Property Set does not clear or change when the Value Type is changed.

Problem

The Value for a Property does not clear or change when the Value Type is changed. For example:

Platform

All

Workaround

None

CR 45341

Caveat about security setting for connections from the E-Business Control Center to a server in a cluster.

Problem

The E-Business Control Center core application has a security check to see where classes loaded from a URL are coming from. This caused an error when connecting to a server that was in a cluster because classes can be downloaded from any machine in the cluster in order to support the EJB calls.

To get around this issue, a line turning off this security check was implemented in the default EBCC_HOME/bin/ide.cfg. The line is as follows:

-J-Dnetbeans.security.nocheck=true

Because this check is not being done, you will need to be sure that any modules you install from third-party vendors into the E-Business Control Center tool are trustworthy, as they will be allowed to load classes from any machine.

Platform

All

Workaround

This security check can be turned back on by simply removing the above line from ide.cfg. This is not an issue when working against a single server that is not part of a cluster. In the single server case, it is recommended that you turn the security check back on by removing the line.

CR 45658

Configuration error when trying to save a new account.

Problem

In the Create a New Account page, you receive a configuration error after you click Save.

Platform

All

Workaround

In the webflow.properties file (in WL_COMMERCE_HOME), there is a misspelling in the following line:

LoginCustomer.inputprocessor.exception(ProcessingExcpetion)=
commerce/login.jsp

Transpose the "pe" to make it "(ProcessingException)."

CR 45699

Oracle Migration: Missing foreign key constraint in the WLCS_ORDER_LINE table.

Problem

The foreign key constraint between WLCS_ORDER_LINE and WLCS_ORDER is missing for Oracle databases. This constraint ensures that a record must exist in the WLCS_ORDER table before a record can be inserted into the WLCS_ORDER_LINE table.

Platform

All

Workaround

Log into SQL*Plus as the user who owns the WLCS_ORDER_LINE and other WLCS objects. Then execute the following:

ALTER TABLE WLCS_ORDER_LINE
ADD CONSTRAINT FK1_ORDER_LINE
FOREIGN KEY ( ORDER_ID )
REFERENCES WLCS_ORDER ( ORDER_ID )
ON DELETE CASCADE;

CR 45782

Previewing placeholder with no descriptor information in Ad Search window results in GUI message: Error: remote failure:EJB Exception:; nested exception.

Problem

Preview button incorrectly enabled when content does not exist.

Platform

All

Workaround

Fill in all fields before previewing ad.

CR 45896

License error when the LoadSampleData batch or shell script runs with either the WebLogic Commerce Server only license or the WebLogic Personalization Server with Portal Framework.

Problem

The following license error is displayed: <Error> <COMMERCE_SERVER_FRAMEWORK> <LOG_FATAL: Campaign Manager for WebLogic: Core Server: 1.1 license error.> and the sample data is not loaded.

Platform

All

Workaround

Run the loader scripts separately. For the WebLogic Personalization Server with Portal Framework-only license, run these scripts:

For the WebLogic Commerce Server-only license, run these scripts:

Note: For the Campaign Manager for WebLogic enabled license, the LoadSampleData.bat/sh runs without error.


CR 46384

-Dwebflow.properties option in server startup (StartCommerce.bat) ignored by Webflow editor

Problem

If you change the -Dwebflow.properties option in StartCommerce.bat to something other than the default Webflow (WL_COMMERCE_HOME/webflow.properties), the server lets you access the Administration Tools (for example, http://localhost:7501/tools). However, you will get an error if you try to edit the the Webflow/Pipeline properties of the new Webflow, because the Webflow/Pipeline editor still tries to access the default webflow.properties file.

For example, if you rename the webflow.properties file to my_webflow.properties, then change the -Dwebflow.properties option to WL_COMMERCE_HOME/my_webflow.properties, the server lets you connect to the Administration Tools, but you get an error if you click the Manage Webflow and Pipeline link, then click the Edit Global Origins option—because the default properties file no longer exists.

Platform

All

Workaround

If you want to change the webflow configuration, keep the name of the webflow.properties file intact (make a backup copy of the original), and make custom configuration changes to the file.

CR 47792

Creating users with missing required property values in the admin tool causes template errors at login

Problem

When creating a user with the WebLogic Commerce Server administration tools, if you do not fill in values for all required properties, you receive errors in the template when you log in with that user.

Platform

All

Workaround

Create users by logging into the templates using registration rather than using the administration tools.

If you prefer to use the administration tools, enter values for all required user properties (fields marked with a *).

CR 48242

Enabling session replication in WebLogic Commerce Server

Problem

By default, WebLogic Server 6.0 disables HTTP session replication among cluster nodes.

Platform

All

Workaround

To enable session replication, you must add the following XML fragment to each weblogic.xml deployment descriptor for each Web Application that you deploy:

<session-descriptor>
...
<session-param>
<param-name>PersistentStoreType</param-name>
<param-value>replicated</param-value>
</session-param>
...
</session-descriptor>

The default value for PersistentStoreType is "memory," which does not replicate sessions amongst cluster nodes.

The weblogic.xml files for our sample Web applications (exampleportal, wlcs, tools, and so on) that were shipped with base WebLogic Commerce Server 3.5 do not contain the above XML fragment. Therefore, WebLogic Server 6.0 will not replicate HTTP sessions for those applications.

For more information on the session descriptor portion of weblogic.xml, go to the BEA e-docs site: http://download.oracle.com/docs/cd/E13222_01/wls/docs60///programming/weblogic_xml.html.

CR 49494

exampleportal: exceptions thrown for more than 254 characters of the first or last name

Problem

An exception is thrown if a customer is created in the exampleportal with a first or last name that is longer than 254 characters.

Platform

WIntel and Linux

Workaround

_user_reg.jsp has maxlength=255 for text fields. Try using maxlength=254 to prevent customers from entering values that are greater than 254 characters.

CR 51123

Cannot save a new event.

Problem

There is a special condition under which a new event cannot be saved: If you try to save an event without changing the default "UnnamedEvent" Event Name, all subsequent attempts to save fail.

Platform

WIntel

Workaround

When creating an event, type a unique Event Name before saving the event. If you run into this problem, close the editor window and start the event creation process again.

CR 51324 and CR 50270

Oracle 8.12.6 and 8.1.7 with the UTF8 character set does not work with the WebLogic Server jDriver.

Problem

The following exception may occur while loading data using the WLCS data loading scripts:

java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column

Platform

All

Workaround

You cannot use the UTF-8 encoding with Oracle. Use another encoding such as WE8ISO8859P1.

CR 52736

Cloudscape database on UNIX.

Problem

The Cloudscape database cannot be used with UNIX platforms to run the demo applications for WebLogic Commerce Server, because it causes the server to hang. This is a known Cloudscape issue on JDK 1.3.0.

Platform

UNIX

CR 53066

Running loadSampleDiscounts.sh on AIX causes an error.

Problem

When running loadSampleDiscounts.sh on AIX, the following error occurs: Can't find libjvm.a. This error occurs because the script uses a JVM flag that is not valid on the AIX system.

Platform

AIX

Workaround

Change the following invocation in <WL-COMMERCE-HOME>/bin/unix/loadSampleDiscounts.sh:


exec $JDK_HOME/bin/java ${javaVm} ${cpathArg} ${invokeClass} ${userPassArg} ${inputFile} ${defaultPort} ${cmd} ${setName}


to


exec $JDK_HOME/bin/java ${cpathArg} ${invokeClass} ${userPassArg} ${inputFile} ${defaultPort} ${cmd} ${setName}

CR 58836

There is a 32K data size limitation on discounts2.xml and cannot handle Japanese text.

Problem

When the size of discounts2.xml is larger than 32K and has Japanese text, loading discounts2.xml fails by running loadsampledata.bat.

Platform

All.

Workaround

Please contact BEA Support for a product patch to fix this problem. There is a patch that addresses the problem of failures while reading or writing large CLOBs when getting or setting rulesets and discounts on multibyte character-set databases. Be sure to provide BEA Support with the CR number associated with this problem.

CR 66531

AK1_ENTITY_ID index already exists when running upgrade_common_to_350.sql

Problem

The upgrade_common_to_350.sql migration script in WLCS 3.5 in db\oracle\8.1.6\migration\v320 causes an exception when creating index AK1_ENTITY_ID because the index already exists under some circumstances.

Platform

All platforms with Oracle database.

Workaround

Run the following Oracle SQL to fix Primary and Alternate keys for the WLCS_ENTITY_ID table after running a 3.2 to 3.5 migration:

DROP INDEX AK1_ENTITY_ID
;
CREATE INDEX AK1_ENTITY_ID
     ON WLCS_ENTITY_ID ( ENTITY_ID )
;
ALTER TABLE WLCS_ENTITY_ID DROP PRIMARY KEY
;
ALTER TABLE WLCS_ENTITY_ID
    ADD CONSTRAINT PK_ENTITY_ID
    PRIMARY KEY ( JNDI_HOME_NAME, PK_STRING )
;

 

 


Miscellaneous Notes

The following list describes miscellaneous notes for this release. The list includes clarifications on the behavior of Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, or WebLogic Personalization Server with Portal Framework 3.5 features; clarifications on the behavior of other related products; and limitations in other related products

The sections include:

Notes for Service Pack 2

Issues Addressed in This Service Pack

The main purpose of this service pack is to port WLCS 3.5 from WebLogic Server 6.0 to WebLogic Server 6.1. In addition to changes required for the porting effort, we have included a list of limitation solved in this release, and workarounds for existing limitations.

Additional Information About CR057513 Regarding create_wlcs.sql - FLOAT Properties Being Rounded to the Nearest Integer

This issue could affect existing databases if:

In those cases, run DDL scripts to update your database, following the instructions in readme_CR057513.txt. The readme_CR057513.txt files appear in the following directories:

<wlcs-install-dir>/db/sql_server/7/sp2/...

and

<wlcs-install-dir>/db/sybase/12/sp2/...

Additional Information About CR055863 Regarding Searching a Highly Populated Catalog Category

This fixes an issue with browsing catalog categories. However, you must change the ebusiness.jar deployment descriptor to take advantage of the fix.

This is an Oracle-specific fix for performance issues with Catalog categories that contain large numbers of items (around 2500, for example). Activating this fix is optional and should only be used if you are running Oracle and using catalog categories with large numbers of items.

<env-entry>

<env-entry-name>SqlManagerClass</env-entry-name>

<env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>com.beasys.

commerce.ebusiness.catalog.sql.OracleSqlManager

</env-entry-value>

</env-entry>

CREATE OR REPLACE VIEW PRODUCT_CATEGORY_ORDERED AS SELECT CATEGORY_ID, SKU FROM WLCS_PRODUCT_CATEGORY ORDER BY CATEGORY_ID,SKU;

Additional Information About CR050662, Regarding Hardcoded String in DiscountCalculatorFixedOff.java

The strings were removed from the calculators and placed in ebusiness-price.properties. Calculators that work with monetary values (fixed price, fixed off) pass two arguments to MessageCatalog when getting the localized strings representing the computation for the discount. The arguments passed to the MessageCatalog are documented in the properties file.

# argument 0: monetary value as a double.

# argument 1: three digit currency code or currency symbol.

Currency symbols, or more specifically HTML character codes for currency symbols, are maintained in currency.properties with the key being a three letter currency code and the value being either a character code for the symbol or the three letter code.

MessageCatalog uses java.text.MessageFormat which in turn uses NumberFormat and DecimalFormat, so modification of the format of the currency value can be manipulated through modifications to ebusiness-price.properties. See the J2SE javadoc for more info about text formatting.

Warning Regarding Changes to web.xml and weblogic.xml

This service pack replaces the Web application deployment descriptors for the Web applications that are shipped with the product. Before you install, back up these files for each Web application you have modified. The files are stored in WEB-INF/web.xml and WEB-INF/weblogic.xml in the directories for the Web applications at WL_COMMERCE_HOME/config/wlcsDomain/applications/wlcsApp/

Warning Message During Full Service Pack Installation

You must be running WebLogic Server with Service Pack 1 before you install the full WebLogic Commerce Server Service Pack 2. (This is also required for the upgrade to only Service Pack 2, but the warning message does not occur.)

If you do not have WebLogic Server installed, the message in Figure 1 will appear during installation.

Figure 1 Warning Message During Installation


 

If you see this message, click Exit Installation and install WebLogic Server with Service Pack 1. You can obtain the necessary files from the WebLogic Server support site.

LDAP Deprecation Messages Related to LDAPRealm

In WebLogic Server 6.1, there are two versions of the LDAPRealm, V1 and V2 (http://download.oracle.com/docs/cd/E13222_01/wls/docs61/adminguide/cnfgsec.html#1071872). At this time, only the V1 LDAPRealm works with WebLogic Commerce Server 3.5. The WebLogic Server console tool and the server log will contain deprecation warnings when the V1 LDAPRealm is used. This is expected, and does not indicate a problem with the software.

WebLogic Portal 4.0 (the release after WebLogic Commerce Server 3.5) uses LDAP configuration settings that are decoupled from the LDAPRealm settings in config.xml. This was done by using an EJB deployment descriptor to specify the LDAP configuration settings required by WebLogic Portal 4.0.

Changes in set-environment.sh

For UNIX installations, the set-environment.sh script has been changed to allow the proper JVM settings to be configured for various UNIX platforms (CR053014). The setting of the JAVA_VM environment variable has been moved from the start script, StartCommerce.sh, to the environment settings script, set-environment.sh. Note that the setting for Solaris is now -hotspot instead of -server. Using JDK 1.3.1 with WebLogic Server 6.1 avoids some problems experienced with -hotspot and JDK 1.3.0.

Notes for Service Pack 1

  1. Scenario action is not triggered as expected on a specific date. (CR 45736, CR 45747, and CR 45754)

    When you create a campaign scenario that has a date/time-related action, such as sending an automatic e-mail when a user logs in within a certain date range, the action sometimes may not happen when you think it should. The issue involves WebLogic Commerce Server's automatic conversion from your local time to Universal Time (UTC). For example, if you set the last day of the e-mail action to be July 4, and your time zone is four hours behind UTC, when the local time is 8 p.m., Universal Time is midnight, and the date becomes July 5. So an e-mail will not be sent if customers login in at or after 8 p.m. local time.

  2. TaxCalculator.getAlternateAdresses() throws exception for invalid zip code (CR 47026)

    The default behavior of the TaxVerifyShippingAddress_DecideShippingAddressPage input processor is to throw TaxwareUserException when a zip code provided by a customer is invalid.

    If you would like to change this behavior to instead provide a list of possible zip codes from which the customer selects:

    1. Add the following new property to weblogiccommerce.properties:
      verazip.returnListOnZipCodeFailure=true

    2. Edit webflow.properties to add the flow and processor to perform the work:

  3. PipelineSession.REQUEST_SCOPE attributes and simultaneous requests in HTML frames (CR 47033)

    The original WebLogic Commerce Server 3.5 PipelineSession request-scoped attributes may not work as expected with HTML frames, because the PipelineSession (as PipeLineSessionImpl) keeps the request-scope attributes in an internal HashTable instead of in the HttpServletRequest, for performance reasons. Therefore, if you use frames, a pipeline from one frame could finish, causing the RequestAttributeMap in PipelineSession to be reset to null. The Pipeline that is concurrently executing for another frame will be using this same PipelineSession and will get null for any request-scoped attributes that it expects to find.

    In order to take advantage of the solution to this problem, developers must first be aware of the existing interfaces and abstract classes used in writing pipeline components (PCs) and input processors (IPs). The PipelineComponent interface is implemented by all PCs, and the InputProcessor interface is implemented by all IPs. Most PCs and IPs do not implement these interfaces directly. Instead, they extend CommercePipelineComponent and CommerceInputProcessor abstract classes to obtain base functionality.

    Using the New "Extended" Interfaces

    To use the new design, developers must instead implement the PipelineComponentExtended interface for PCs, and the InputProcessorExtended interface for IPs. We have provided CommercePipelineComponentExtended and CommerceInputProcessorExtended abstract classes for obtaining base functionality. Your PCs and IPs should extend these abstract classes. In addition, the PipelineSession interface has been extend by PipelineSessionExtended. This new interface contains method signatures that allow the setting and getting of request attributes associated with a requestId.

    The new PC and IP interfaces are similar to the old interfaces but include a requestId as an argument to the process() method. Also, the new PC interface uses the PipelineSessionExtended interface (instead of just PipelineSession) as an argument to the process() method. Therefore, to use this fix correctly, implementors of new PCs and IPs should use the passed requestId when getting and setting request-scoped parameters. This requestId is guaranteed to be the same for all PCs and IPs invoked during a webflow process.

    This change achieves backwards compatibility by retaining the legacy REQUEST_SCOPE attribute bucket. This bucket is maintained and can still be used. When webflow finishes executing processors, it removes request-scoped attributes from the PipelineSession and sets them in the HTTP request. This behavior has been retained, though all attributes from the current requestId and any attributes in the legacy bucket are set to the HTTP request and removed from the PipelineSession.

    There is a danger in attempting to use both the legacy REQUEST_SCOPE attribute bucket and the new requestID bucket at the same time, because name collisions could occur between attributes in the requestID bucket and the legacy bucket. In this case, the new requestId bucket attribute will "win," its value will be moved into the HTTP request at the end of the webflow invocation, and the legacy attribute value will be lost.

    Code Changes You Need to Make

    You will have to make changes to your application code if you need to use request-scoped PipelineSession attributes in pipelines that will be accessed concurrently by a client with a single session, such as may happen with the use of HTML frames. You will need to change only the PCs and IPs that get and set pipeline session attributes with request scope.

    Input Processor Changes You Need to Make

    The process() method in the interface InputProcessorExtended has an additional argument. The new argument is int requestID. This is how the unique requestId is passed in for use in setting request-scoped pipeline session attributes. The abstract base class CommerceInputProcessorExtended implements the new interface.

    Your IPs should extend com.beasys.commerce.webflow.CommerceInputProcessorExtended instead of com.beasys.commerce.webflow.CommerceInputProcessor, and in your process() method you may get a handle to the com.beasys.commerce.foundation.pipeline.PipelineSessionExtended much like you did with your original IP. You will use the CommerceInputProcessorExtended method getPipelineSessionExtended(HttpServletRequest request) to get a PipelineSessionExtended object.

    Use the methods of PipelineSessionExtended to manipulate all request-scoped pipeline session attributes. For example, set an attribute by using the method PipelineSessionExtended.setRequestAttribute(String key, Object attribute, int requestID) instead of the method PipelineSession.setAttribute(String key, Object attribute, int scope). If you try to set request-scope attributes into both the original REQUEST_SCOPE bucket in PipelineSession with PipelineSession.setAttribute() and in the new request-specific bucket with PipelineSessionExtended.setRequestAttribute(), a LOG_WARNING is written.

    Summary of IP changes:

  4. Static portlets with htm/html extensions are not displayed in a portal. (CR 47061)

    When a static html page with an htm or html extension is deployed as a portlet, the page does not display unless it has a .jsp extension.

    An .html or .htm file cannot be deployed as a portlet with the default implementation in exampleportal because of the coding in portlet.jsp (in .../exampleportal/portals/repository/portlet.jsp)

    You have two choices for a workaround:

    For the .html or .htm file you want to use as a portlet, change its file extension to .jsp. The drawback to this is that the .jsp extension invokes the JSP compiler on the loading of the portlet, slowing down the load time when the portlet is first invoked.

    OR

    If you want to use .html or .htm files as portlets without changing the file extension (which doesn't invoke the JSP compiler and takes less time to load a portlet initially), modify the portlet.jsp file:

    Currently

    We include the portlet content in line 95 with:
    <jsp:include page="<%=reconcileFile(request, nextURL)%>"/>

    Should Be
    <jsp:include page="<%=reconcileFile(request, nextURL, false)%>"/>

    Making this simple change in portlet.jsp allows you to use portlets that are .html or .htm files.

    Explanation

    portlet.jsp extends PortalJspBase, which extends P13NJspBase, which extends JspBase. portlet.jsp uses the method JspBase.reconcileFile(javax.servlet.http.
    HttpServletRequest aRequest, java.lang.String aURL)
    to obtain the URL for the portlet content. The portlet content is included with a <jsp:include> action. This version of the reconcileFile() method will prepend the application context to any URL that does not refer to a JSP resource, as noted in the javadoc at
    http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/javadoc/wlcs/com/beasys/
    commerce/axiom/jsp/JspBase.html#reconcileFile(javax.servlet.
    http.HttpServletRequest, java.lang.String)

    Because the <jsp:include> action requires a URL for server-side processing, the application context should not be prepended to this URL. The version of reconcileFile() that takes a boolean argument for addWebContext should be used with a value of false when building URLs for server-side processing if the desired resource is not a .jsp file. See the javadoc at http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/javadoc/wlcs/com/beasys/
    commerce/axiom/jsp/JspBase.html#reconcileFile(javax.servlet.
    http.HttpServletRequest, java.lang.String, boolean)

    For example, the exampleportal has an application context of /exampleportal, because that is the service name with which the Web application is deployed. If you want to include an .html portlet, the URL for the <jsp:include> should be /portals/repository/portlets/HTML_portlet.html, not /exampleportal/portals/repository/portlets/HTML_portlet.html, because the server will expect all absolute URLs to be relative to the application context (absolute URLs start with /). If you specify /exampleportal/portals/..., the server will look for the resource at /exampleportal/exampleportal/portals/...

    For example, the context for the exampleportal is /exampleportal.

  5. StringIndexOutOfBoundsException setting DefaultWebApp for portal application. (CR 48228)

    The patch for this issue addresses issues related to setting the default Web Application with WebLogic Commerce Server 3.5. To implement this fix, it will be necessary to follow some guidelines for the default Web Application to work correctly. This document will use the Acme Portal and WebLogic Commerce Server templates Web applications as examples.

    Follow these steps to make the fix. Following the steps are more detailed explanations of the fix.

    To register and use a WebLogic Personalization Server with Portal Framework portal/application as a default Web application:

    1. Edit your weblogiccommerce.properties file to include the new property:
      commerce.defaultWebAppName = exampleportal

      See Setting the New Property for more information.

    2. Set the default Web application for your server to exampleportal. Edit config.xml and change the XML fragment:
      <WebServer DefaultWebApp="defaultWebApp"
      LogFileName="./config/wlcsDomain/logs/access.log"
      LoggingEnabled="true" Name="wlcsServer"/>

      to the following:

      <WebServer DefaultWebApp="exampleportal"
      LogFileName="./config/wlcsDomain/logs/access.log"
      LoggingEnabled="true" Name="wlcsServer"/>

    3. Correct the URL for the AD_CONTENT_BASE context parameter in the web.xml file (WL_COMMERCE_HOME/config/wlcsDomain/applications/
      wlcsApp/exampleportal/WEB-INF/web.xml)
      .

      See Addressing Advertisement Functionality for more information.

    4. Start the server as usual.

    5. Start a Web browser and point it at the WebLogic Commerce Server (http://localhost:7501/, for example). The Acme Portal Web Application will appear.

      See Redirecting to the Correct URL for more information.

      The following sections provide expanded explanations of the fix.

      Setting the New Property

      A new property was added to the weblogiccommerce.properties file that indicates the name of the default Web Application. The new property is called commerce.defaultWebAppName, and the default value is default. This property should be set to match the name of the Application Init property set that corresponds to your Web Application.

      Addressing Advertisement Functionality

      If your application uses WebLogic Commerce Server 3.5 advertisement functionality, there are two issues you must deal with. First, you must correct the URL contained in the AD_CONTENT_BASE context parameter within the web.xml file for your Web application. Using Acme Portal as an example, you would change this XML fragment from this:

      <context-param>
      <param-name>AD_CONTENT_BASE</param-name>
      <param-value>/exampleportal</param-value>
      </context-param>

      to this:

      <context-param>
      <param-name>AD_CONTENT_BASE</param-name>
      <param-value></param-value>
      </context-param>

      Second, you must update advertisement metadata that contains adTargetUrl properties to point to the correct URL, and you will need to reload the advertisements into your database.

      For example, the drill advertisement from the WebLogic Commerce Server templates needs to be updated as follows:

    6. Go to the WL_COMMERCE_HOME/dmsBase/Ads/wlcs_ads directory.

    7. Open the file adCSDrillSide.gif.md.properties in a text editor.

    8. Change the line:
      adTargetUrl=/wlcs/application/commercewf?origin=category.jsp
      &event=link(browse)&wlcs_catalog_sourceKey=wlcs_categories&
      wlcs_catalog_destinationKey=wlcs_siblings&wlcs_catalog_
      category_id=Drills

      to this:

      adTargetUrl=/application/commercewf?origin=category.jsp
      &event=link(browse)&wlcs_catalog_sourceKey=wlcs_categories&
      wlcs_catalog_destinationKey=wlcs_siblings&wlcs_catalog_
      category_id=Drills

    9. Save the changed file.

    10. Run WL_COMMERCE_HOME/bin/win32/loadads.bat (or .sh) to reload the ad into the database.

      Redirecting to the Correct URL

      Finally, to make the WebLogic Commerce Server work as the default Web Application, you will need to edit index.jsp to redirect to the correct URL:

    11. Go to the directory WL_COMMERCE_HOME/config/wlcsDomain/applications/wlcs.

    12. Open the file index.jsp in a text editor.

    13. Change the line:
      response.sendRedirect("/wlcs/application/commercewf");

      to this:

      response.sendRedirect("/application/commercewf");

  6. Putting an item in a shopping cart causes a server error (CurrencyMismatchException). (CR 50600)

    If you have a stand-alone discount that is set to a different currency type than the currency used in your catalog, your customers will see this error. To fix this, change the currency type of the discount to match the currency type of your catalog.

  7. WebLogic Commerce Server 3.5 will not start after installing WebLogic Server 6.0 with Service Pack 2. (CR 48742)

    When installing WebLogic Server 6.0 with Service Pack 2, you must install the samples as well. The samples include the required Cloudscape database. If you don't install the samples (the Cloudscape database), WebLogic Commerce Server 3.5 will not start.

  8. Virtual Machine message. (CR 53042)

    On AIX only, the startup script will display the line: using the "" virtual machine. This is echoed to the console by StartCommerce.sh. This is expected behavior. For example, on SunOS platforms the message would say something like: using the -server virtual machine.

Notes for the Initial Release

  1. Data size validation limitations. (CR 33436)

    Through the User Management administration tools, it is possible to set Customer Properties on a user. Because the tools were designed with generic text properties in mind, there is a length limit of 255 characters. However, Customer Properties have different size limits in the database; and any property value that exceeds the database limit for that property will throw an exception and not be set. The workaround is to limit the length of Customer Properties to the size of the columns in the database. See the schema definitions for WLCS_CUSTOMER and WLCS_SHIPPING_ADDRESS. For example, see the SQL file WL_COMMERCE_HOME\db\oracle\wlcs\create-order-oracle.sql.

  2. In a clustered system, the first user session is lost. (CR 35481 and CR 35483)

    When you start WebLogic Commerce Server in a cluster, the first time a person logs on, that person's session will be lost. This includes any items in the shopping cart (but not the saved shopping cart). This limitation can also exhibit itself when a cluster has been running but each of the nodes has been restarted. A workaround: after starting a clustered WebLogic Commerce Server, immediately access the site and click "View Profile" to initiate the first user session. Subsequent sessions will function properly.

  3. The BulkLoader/Document Management Component does not correctly indicate whether a file has been deleted, modified, or renamed. (CR 35566)

    While using the BulkLoader to update the reference document repository, if you delete a file from the dmsBase directory, it still shows up when you search for documents or use content selector rules. Additionally:

  4. Catalog Administration pages limit the number of category levels you can add. (CR 35248)

    Using the Web-based administration pages for the product catalog, you must limit the hierarchy of categories to 25 levels deep. This is a limitation of the Web browser (not of WebLogic Commerce Server catalog components) and may vary from versions of Netscape and Internet Explorer.

  5. Missing portlets return a stack trace for a FileNotFoundException.

    If you configure WebLogic Personalization Server with Portal Framework to use a portlet and if the portlet's JSP file is missing from the filesystem, WebLogic Personalization Server with Portal Framework encounters a file not found exception when it tries to access the missing file. However, the portal framework cannot trap the exception because it is not propagated from the internal WebLogic code. You will see a stack trace for the FileNotFoundException.

    Your portlet implementation should be robust and catch and handle exceptions, so that a failure does not halt the loading of the portal. For example, a NullPointerException that is not caught prevents all portlets from being displayed. Remember to follow good coding practices when developing your portlet.

  6. Browser cache settings for Administration Tools. (CR 40263)

    For the Administration tools, your browser cache setting should be set to "Every visit to the page" for Microsoft Internet Explorer and to "Every time" for Netscape. Intermittently, you could get pages back from cache when sending requests a second time in a session if the Never or Automatic cache settings are in use. For example, if you use Never or Automatic, a problem could occur in the following scenario:

    1. Create a property set

    2. Attempt to create the property set again; the message states that it could not be created

    3. Delete that property set; the message states that it has been deleted

    4. Create the same property set again; the message states that it could not be created, but it really has been created; the browser gave you the page from your last request again.

      In the Netscape browser, the Never Check Cache option does not work with the portal framework. Information will be lost. You can find this option in the Netscape browser under: Edit -> Preferences -> Advanced -> Cache -> Document in cache is compared to document on network. When using Netscape, use the "Every time" option.

      In the Internet Explorer browser, the Never check cache option does not work with the portal framework correctly. You can find this option on the Internet Explorer browser under Tools -> Internet Options -> General tab -> Temporary Internet files -> Settings -> Check for newer versions of stored pages. When using Internet Explorer, use the "Every visit to the page" option.

  7. User wildcard search is disabled for non-RDBMS realms.

    The wildcard search for usernames from the User Management administration tools is disabled for WebLogic Commerce Server configurations that do not use the out-of-the-box security realm, com.beasys.commerce.axiom.contact.security.RDBMSRealm. It was disabled to avoid performance and memory management problems for realms that are not fully controlled by WebLogic Commerce Server.

    You can still search on an exact user name to retrieve a user's information.

  8. Missing HTTP headers in the default Request Property Set.

    The default request property set does not contain properties representing HTTP request headers. As a result, rules cannot be written on HTTP request headers. The software intentionally does not contain these properties because not all browsers support the same set of HTTP request headers.

    Using the Property Set Administration Tools, you can add HTTP request header properties to the Request Property Set named 'DefaultRequestPropertySet'.

    Some common HTTP request header names and types (all type Text) are: User-Agent, Connection, Host, Accept, Accept-Encoding, Accept-Language, Accept-Charset.

    To determine the exact HTTP request headers sent by the browser to the server, and what headers are supported by the Web server, you can run the 'snoop' servlet that comes with WebLogic Server or insert the following JSP code in a test JSP page:

    Enumeration names = request.getHeaderNames();
    while(names.hasMoreElements())
    {
    name = (String)names.nextElement();
    System.out.println("header : " + name + " : " +
    request.getHeader(name));
    }

  9. User Management security realm support verification.

    The User Management system's realm support has been tested against the following realms:

  10. JRE Exception When Using WebLogic Commerce Server and JBuilder.

    If you are using the JRE that comes with JBuilder 3.0 or later (on Windows), you may encounter the following JRE exception when you run the StartCommerce.bat procedure:

    Exception: class not found on "com.ibm.xml"

    This can happen because the JBuilder installation assigns the JDK_HOME value for its JRE in a Windows Registry key. A subsequent installation of the WebLogic Commerce Server software looks up that value in the Registry and uses the value in generated procedures such as WL_COMMERCE_HOME\bin\win32\set-environment.bat.

    To address this issue, after you install WebLogic Commerce Server, update the JDK_HOME environment variable in the WL_COMMERCE_HOME\bin\win32\set-environment.bat procedure, setting JDK_HOME to the Sun JDK. For example:

    SET JDK_HOME=C:\bea\jdk131

  11. If in the WebLogic Server Console you change the port numbers from which WebLogic Server listens, you must also make corresponding changes in several files in WL_COMMERCE_HOME/...

    To resolve this issue, find all instances of the port number in the following files and change them to the new port number:

  12. If you change the WebLogic Server system password, you must also make a corresponding change in WL_COMMERCE_HOME/bin/<platform>/LoaderDriverProperties.xml.

    To resolve this issue, do the following:

  13. The getContent() method of Document fails when the docPool has been configured to access the commercePool via the JTS driver. (CR 35568)

    When using the reference document repository implementation, if you modify the Document EJB deployment descriptor to require transactions and modify the WebLogic Server connection pool docPool to use jdbc:weblogic:jts:commercePool, then the getContent() method of the Document EJB (which is invoked by the ShowDocServlet and cm:printdoc tag) throws an exception stating that a transaction must be started. You can retrieve Document objects and their metadata.

    The Document bean works without transactions. By default, the deployment descriptor sets the transaction attribute to Supports, and the docPool is configured to use jdbc:weblogic:pool:commercePool (that is, the pool driver, not the JTS driver). Additionally, in this version, since Documents are read-only, transaction support is not required since you won't be modifying the EJBs. You can configure the deployment descriptor's transaction attribute to Required, but still have the docPool use jdbc:weblogic:pool:commercePool. Performance may be slower if WebLogic Server had to create a transaction. It is recommended that the Document EJB not require transactions nor have the docPool use the JTS driver.

  14. While using the JSP-based Administration tool, browsers must accept cookies. (CR 35576)

    The JSP-based Administration tool requires the browser to accept cookies.

  15. Database Driver configuration settings in set-environment.bat/sh are improperly referred to as Database configuration settings. (CR 40342)

    In the set-environment.bat and set-environment.sh files, the Database Driver configuration settings are improperly referred to as Database configuration settings. To configure the Cloudscape driver, select the DATABASE=CLOUDSCAPE option. To configure the WebLogic jDriver, select the appropriate DATABASE=ORACLE_* option. For details, see the Deployment Guide.

  16. Order of items displayed on Administration screens may vary. (CR 44758 and CR 44760)

    The order of items displayed on Administration screens, such as property sets and users, may vary according to the database type. You may notice the difference, for example, if you use one type of database on your staging server, and another type of database (such as Oracle) when you move the application to your production server.

  17. Create-all-cloudscape.sh throws NullPointerExceptions. (CR 36088)

    On Solaris systems, the create-all-cloudscape.sh script fails to create the proper tables and schema, resulting in a NullPointerException. A workaround: Disable JIT (JAVA_COMPILER=NONE) prior to running create-all-cloudscape.sh for Cloudscape 3.5.1. Please see details at http://www.cloudscape.com.

  18. Minimum desktop requirement for installers on Windows. (CR 42665)

    On supported Windows systems, the InstallAnywhere installer for Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server may fail without an error reported if your desktop video driver does not support at least 256 colors and at least 800x600 pixels. For example, the default VGA driver provided by Windows 2000 will not support the required minimum environment for InstallAnywhere. If this happens on your Windows system, switch to a higher resolution video driver. These requirements also apply for the E-Business Control Center graphical user interface and the sample JSP templates.

  19. Sun JavaHelp Viewer Limitation.

    The E-Business Control Center uses JavaHelp and its Viewer to display the online Help files for the GUI tool. Because the JavaHelp Viewer only supports a subset of common HTML tags, cross references to other online documents that use a richer set of HTML tags are shown simply as URLs in text, instead of being coded as hyperlinks. This limitation of JavaHelp affects the external cross references to related online documents for Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server on the BEA "E-docs" site.

  20. Trailing Spaces in WebLogic Server Console Input Field Will Cause Errors at Server Startup.

    Note that the WebLogic Server Console treats spaces at the end of each line as valid characters and does not parse the spaces out.

    For example, if you copy and paste the string "weblogic.jdbc.oci.Driver " to the WebLogic Server Console's commercePool Driver Classname input field, the following error is reported at server startup time:

    <Date...> <Error> <JDBC Connection Pool> <Cannot startup connection on pool "commercePool"> Cannot load driver class:
    weblogic.jdbc.oci.Driver

    Keep this limitation in mind if you entered the correct input in the WebLogic Server Console but are seeing errors at server startup.

  21. Using "like" operator in E-Business Control Center

    You can use the like operator in the E-Business Control Center tools for content selection. This is in addition to other operators such as:

    is equal to
    contains

    Use the like operator to do pattern matching with '*' and '?'. For example:

    character like '*R?nn*' 

    In the example, the asterisk for any length of character(s) in that position, while the question mark is for any single character in that position. This query is similar to the SQL LIKE operator, except it uses '*' for '%' and '?' for '_'. Information about the like operator was not included in this version of the E-Business Control Center online Help.

  22. Differences in Ctrl-C Behavior on Windows 2000, and its effect on server shutdown. (CR 44098)

    Windows 2000 handles Ctrl-C differently than Windows NT. This affects what happens if you enter Ctrl-C in the server console window when you shut down the server. On Windows 2000, Ctrl-C stops the currently running step in the batch, but then prompts you to terminate the batch job. If you enter Yes, the batch job stops there and does not execute anything else. This can result in unintentionally leaving java.exe processes running on your system. The solution is to answer No in response to the prompt on Windows 2000.

    Note: The recommended way (on any platform) to shut down the server is to run the StopCommerce.bat/sh procedure in WL_COMMERCE_HOME.

  23. On UNIX, cannot use spaces in path to license file with UpdateLicense.sh. (CR 44099)

    The UpdateLicense.sh procedure in the BEA_HOME directory on UNIX systems does not accept spaces in the path to the input license file.

  24. Warning messages about EJB redeployment (CR 44825)

    During startup, messages similar to the following are thrown:

    <Mar 27, 2001 1:00:43 PM MST> <Warning> <EJB> <EJB Deployment: com.beasys.commerce.ebusiness.catalog.CatalogManager cannot be redeployed while the server is running. com.beasys.commerce.ebusiness.catalog.CatalogManagerImpl is located in the server's classpath.> 

    This is because the product's EJBs are not hot deployable. Note that these warning messages are not displayed on the server console in the default configuration. These messages will only show in the console if you set the logging level to Warning or Info.

  25. Error opening campaigns when the EBCC is not started in the \bin directory. (CR 44851)

    If you start the E-Business Control Center by running ebccw.exe in a directory other than the one in which the executable directly resides, you will see the following error message:

    Default campaign template is not valid, unable to create campaign. The selected item cannot be opened because of an error in its content.

    This only happens when you are in a DOS window and not in the correct \bin subdirectory. It does not happen when you:

  26. Do not deploy data loader files that contain server password on production server. (CR 45031)

    There are some files used during development to load data or set properties that contain the username, password, and port for the server, including:

  27. Notification messages reported by Validate Webflow for default Webflow. (CR 43131)

    If you execute Validate Webflow in the Webflow and Pipeline Editor, a number of notification ("NOTE") messages are displayed. For example:

    NOTE: Wildcard will be used for [InitializePipelineSession.inputprocessor.exception]. 
    NOTE: Wildcard will be used for [PriceShoppingCart.pipeline.exception].
    .
    .
    .

    These messages do not indicate a validation warning or error condition. In this case, the messages are indicating that for the specified pipelines and input processors, the appropriate wild card notation will be used to determine the path.

  28. Lack of exceptions when WebLogic Server 6 points to one database and WebLogic Commerce Server 3.5 points to another database. (CR 45899)

    Errors may not be thrown when the WebLogic Server 6 and WebLogic Commerce Server 3.5 point to different databases and users. The server can start without warnings and may appear to work correctly, especially during portal operations. This condition happens when a new database is designated in the weblogicommerce.properties file but not in the WebLogic Server console.

    A likely circumstance when this can happen is when migrating data. For example, both WebLogic Server 6 and WebLogic Commerce Server 3.5 point to Database A. The Database Administrator migrates data to Database B and makes changes to only the weblogicommerce.properties file.

    Be sure to make changes in both the weblogicommerce.properties file and the WebLogic Server console.

  29. When making a change in Campaign Manager for WebLogic, WebLogic Commerce Server, or WebLogic Personalization Server with Portal Framework that have a relationship to database information, you may also need to make a corresponding change in your database. (CR 44999)

    For example, if you remove a user with the User Management tool, you must also purge, obsolete, or archive that user's order history in your database. If this isn't done, a user with the same name will have the previous user's order history. We recommend that you and your Database Administrator develop a policy for ensuring correspondence between databases and servers.

 


Downloading and Installing Service Pack 2

Before installation, see Before You Begin.

Note: This service pack is cumulative, so it contains the fixes from both Service Pack 1 and Service Pack 2.

Before You Begin

If you have already installed 3.5 and Service Pack 1, you must edit your set-environment.bat or set-environment.sh file before installation. Open the file and set the following values:

Downloading and Installing Service Pack 2 on Windows

Service Pack 2 on Windows involves two installations: one to install Service Pack 2 for WebLogic Commerce Server 3.5, and one to install Service Pack 2 for E-Business Control Center.

Note: Before you begin, see the information about CR051035. You must follow the instructions there to create to scripts to put in your installation directory.

To install Service Pack 2:

  1. Make sure you have downloaded and installed WebLogic Server 6.1 for your platform. Download WebLogic Server 6.1 Service Pack 1 from the WebLogic Server area of the BEA Download site.

    Note: When installing WebLogic Server you must install the samples as well. The samples include the required Cloudscape database. If you do not install the samples (the Cloudscape database), WebLogic Commerce Server 3.5 will not start.

  2. Download the following files from the WebLogic Commerce Server area of the BEA Download site:

  3. Download the following files from the WebLogic Commerce Server area of the BEA Download site:

  4. Back up your BEA_HOME directory.

  5. If you have modified the set-environment.bat file in any way and you want to keep the changes, add %WL_COMMERCE_HOME%\lib\WLCS_35sp.jar to the beginning of the WLPS_CLASSPATH. If you do not perform this step, your set-environment.bat file will be backed up as set-environment.bat.BAK1 (in the same directory), and a new set-environment.bat with the modified WLPS_CLASSPATH will be installed.

  6. Run WLCS_35sp2_win32.exe to install WebLogic Commerce Server 3.5 Service Pack 2.

  7. In the first window, select the language in which you want view the remaining installation windows, and click OK.

    Note: This choice does not change the version of the product that is installed. The English version is installed.

  8. In the Introduction window, click Next.

  9. In the Choose BEA Home Directory window, select the Use Existing BEA Home option, and make sure the BEA home directory shown is correct. For example, C:\bea.

    If your BEA Home is not displayed, select the Create a New BEA Home option and specify the directory you want to use as your BEA_HOME.

    Click Next.

Note: You must be running WebLogic Server before you install the full WebLogic Commerce Server Service Pack 2.

If you do not have WebLogic Server installed, the message in Figure 2 will appear:

Figure 2 Warning Message During Installation


 

If you see this message, click Exit Installation and install WebLogic Server. You can obtain the necessary files from the WebLogic Server support site.

  1. In the Enter System Password window, enter the password you used when you originally installed WebLogic Commerce Server 3.5. Enter the password again in the Verify Password field.

    The password you enter is used to populate scripts in the product that require the WebLogic Commerce Server 3.5 system password. This will not change your WebLogic Commerce Server "system" user password.

    Click Install.

  2. InstallAnywhere transfers the product files to your system. During this step, it displays an informational billboard screen for the BEA Developer Center, an online, technical resource for developers at http://developer.bea.com/index.jsp.

  3. After the installation completes, InstallAnywhere displays the Install Complete window. Click Done to complete the installation.

    As part of the service pack installation, a DDL script is run to add an EXPIRATION_DATE field to the AD_BUCKET table in the Cloudscape database. For instructions on running the DDL script for the supported Oracle 8.1.6 database, see Updating Oracle 8.1.6 Databases. (You need to do this only if you are going from 3.5 without service packs to 3.5 with Service Pack 2.)

    Addition of this new database field supports a new campaign feature. For more information, see Expiration of Placeholder Ads in Scenarios.

  4. If you are using the E-Business Control Center, run EBCC_11_with_sp2_win32.exe to install E-Business Control Center Service Pack 2.

    The only differences between this and the previous installation (in the previous steps) is that you don't have to add anything to your WLPS_CLASSPATH, and you will not be asked to supply the "system" password.

  5. Apply the rolling patch. See the readme file in the rolling patch zip file for instructions.

  6. If you are going from 3.5 without service packs to 3.5 with Service Pack 2, complete this step. If you are using an Oracle 8.1.6 database, follow the procedure in Updating Oracle 8.1.6 Databases.

Note: If you did not perform step 4 and you would like to revert to your old set-environment.bat file for any reason, you will find your original set-environment.bat file in the set-environment.bat.BAK1 file. Simply rename the file to set-environment.bat and add %WL_COMMERCE_HOME%\lib\WLCS_35sp.jar to the beginning of the WLPS_CLASSPATH.

Downloading and Installing Service Pack 2 on UNIX

This information will help you download and install the full Service Pack 2 for UNIX.

Note on the Two UNIX Installer Files

There are two download files for UNIX:

If you are installing the kit for non-Solaris UNIX systems, you must complete two steps, one before installation and one after.

Before You Begin

In addition to installing WebLogic Commerce Server 3.5 Service Pack 1, you can now install the E-Business Control Center on Solaris 8 systems.

For more information on the E-Business Control Center, see Separate Installation for E-Business Control Center. To install the E-Business Control Center on Solaris 8 after you install WebLogic Commerce Server 3.5 Service Pack 2 with rolling patch 2, see Installing the E-Business Control Center in the Installation Guide.

Note: WebLogic Portal 3.5 Service Pack 2 with rolling patch 2 is supported for Win32, Solaris or HP-UX.

Download and Installation Procedure

To install WebLogic Commerce Server 3.5 Service Pack 2:

  1. Make sure you have downloaded and installed WebLogic Server for your platform. Download WebLogic Server from the WebLogic Server area of the BEA Download site.

    Note: When installing WebLogic Server, you must install the samples as well. The samples include the required Cloudscape database. If you don't install the samples (the Cloudscape database), WebLogic Commerce Server 3.5 will not start.

  2. Download one of the following files from the WebLogic Commerce Server area of the BEA Download site:

  3. Back up your BEA_HOME directory.

  4. If you have modified the set-environment.sh file in any way and you want to keep the changes, add %WL_COMMERCE_HOME%/lib/WLCS_35sp.jar to the beginning of the WLPS_CLASSPATH. If you do not perform this step, your set-environment.sh file will be backed up as set-environment.sh.BAK1 (in the same directory), and a new set-environment.sh with the modified WLPS_CLASSPATH will be installed.

  5. If you are using the non-Solaris installation file, complete the pre-installation step in Note on the Two UNIX Installer Files.

  6. Start the installation by running one of the following:

  7. In the first window, select the language in which you want view the remaining installation windows, and click OK.

    Note: This choice does not change the version of the product that is installed. The English version is installed.

  8. In the Introduction window, click Next.

  9. In the Choose BEA Home Directory window, select the Use Existing BEA Home option, and make sure the BEA home directory shown is correct. For example, /bea.

    If your BEA Home is not displayed, select the Select a New BEA Home option and specify the directory you want to use as your BEA_HOME.

    Click Next.

Note: You must be running WebLogic Server before you install the full WebLogic Commerce Server Service Pack 2. (This is also required for the upgrade to only Service Pack 2, but the warning message does not occur.)

If you do not have WebLogic Server installed, the message in Figure 3 will appear:

Figure 3 Warning Message During Installation


 

If you see this message, click Exit Installation and install WebLogic Server. You can obtain the necessary files from the WebLogic Server support site.

  1. In the Enter System Password window, enter the password you used when you originally installed WebLogic Commerce Server 3.5. Enter the password again in the Verify Password field.

    The password you enter is used to populate scripts in the product that require the WebLogic Commerce Server 3.5 system password. This will not change your WebLogic Commerce Server "system" user password.

    Click Install.

  2. InstallAnywhere transfers the product files to your system. During this step, it displays an informational billboard screen for the BEA Developer Center, an online, technical resource for developers at http://developer.bea.com/index.jsp.

  3. After the installation completes, InstallAnywhere displays the Install Complete window. Click Done to complete the installation.

    As part of the service pack installation, a DDL script is run to add an EXPIRATION_DATE field to the AD_BUCKET table in the Cloudscape database. For instructions on running the DDL script for the supported Oracle 8.1.6 database, see Post-Installation. (You need to do this only if you are going from 3.5 without service packs to 3.5 with Service Pack 2.)

    Addition of this new database field supports a new campaign feature. For more information, see Expiration of Placeholder Ads in Scenarios.

  4. Apply the rolling patch. See the readme file in the rolling patch zip file for instructions.

  5. If you are using an Oracle 8.1.6 database, follow the procedure in Updating Oracle 8.1.6 Databases. (You need to do this only if you are going from 3.5 without service packs to 3.5 with Service Pack 2.)

Note: If you did not perform step 4 and you would like to revert to your old set-environment.sh file for any reason, you will find your original set-environment.sh file in the set-environment.sh.BAK1 file. Simply rename the file to set-environment.sh and add %WL_COMMERCE_HOME%/lib/WLCS_35sp.jar to the beginning of the WLPS_CLASSPATH.

Post-Installation

This section contains the following information:

Updating Oracle 8.1.6 Databases

Note: You need to do this only if you are going from 3.5 without service packs to 3.5 with Service Pack 2.

A feature was added to the campaign creation process that requires an EXPIRATION_DATE field be added to the AD_BUCKET table. While the service pack installer creates this field automatically in the Cloudscape database, you must run a script manually to update Oracle 8.1.6 databases.

For more information on this new feature, see Expiration of Placeholder Ads in Scenarios.

To update an Oracle 8.1.6 database, execute the following DDL script that is installed with the service pack:

WL_COMMERCE_HOME\db\oracle\8.1.6\sp2\alter_ad_bucket.sql
(Windows)

WL_COMMERCE_HOME/db/oracle/8.1.6/sp2/alter_ad_bucket.sql
(UNIX)

Porting WLCS 3.5 Applications to WebLogic Server 6.1 SP 1

WebLogic Commerce Server 3.5 SP2 was created to port WebLogic Commerce Server 3.5 from WebLogic Server 6.0 to WebLogic Server 6.1. During this exercise, issues that were of interest to WebLogic Commerce Server Web application developers were addressed and documented. This document contains a list of those issues. This document does not contain a summary of internal issues that are being fixed in the implementation of the WebLogic Commerce Server API because they are provided in Service Pack 2. The API implementation changes specifically should not require any changes in Web application code that was originally developed on WebLogic Commerce Server 3.5 SP1 on WebLogic Server 6.0.

Startup After Installation

The first startup of WebLogic Commerce Server 3.5 will take longer than usual after service pack installation. The installer for Service Pack 2 deletes the EJB deployment directory, which contains the container classes for all EJBs deployed in WebLogic Commerce Server. The EJB directory is located under the main installation directory, and it includes your server machine name and port like this: WL_COMMERCE_HOME/tmp_ejb<machinename><port>/. This directory will be regenerated when you start WebLogic Commerce Server for the first time after service pack installation. The generation of container classes for the EJBs requires the EJBC compiler to be run repeatedly, which can take a significant amount of time.

Separate Installation for E-Business Control Center

The BEA E-Business Control Center is a graphical tool that helps a broad range of users—especially business analysts and marketing professionals—define and manage promotional campaigns, campaign discounts, stand-alone discounts, customer segments, content selectors, ad placeholders, and custom events.

The E-Business Control Center runs on a client system and connects to a server that is hosting a Campaign Manager for WebLogic 1.1, WebLogic Commerce Server 3.5, or WebLogic Personalization Server with Portal Framework 3.5 application.

The E-Business Control Center has a separate installation procedure and can be installed on any supported client system.

For information on installing the E-Business Control Center, see the "Installing the E-Business Control Center" section of the Installation Guide. You should already have downloaded one of the following files when you downloaded the SP2 full installation file:

For information about the supported client systems, see the "Supported Platforms" chapter in the Installation Guide.

As with other features in the product packages, run-time license checks determine which selected features of the E-Business Control Center you can use. The license types are:

For information about the selected features of the E-Business Control Center that can be used with each license type, see the topic "What Does the E-Business Control Center Provide?" in the E-Business Control Center online Help. This is a subtopic under "Introduction to the BEA E-Business Control Center." A copy of the online Help is provided in the locally installed documentation kit and on E-docs starting at http://download.oracle.com/docs/cd/E13210_01/wlcs/docs35/campusr/index.htm.

 


About the Product Documentation

This section includes the following additional notes about the product documentation:

Where to Get Product Documentation

Documentation for this product is available from the following locations:

Refresh Browser to View Updated Pages

Depending on your browser settings, you may need to enter Shift-Reload (Netscape) or Shift-Refresh (Microsoft Internet Explorer) to see the latest version of WebLogic Commerce Server documentation pages you have already visited. When in doubt, please refresh your browser view (for documentation pages you have read previously) to ensure that you are viewing the latest content. Also check a refreshed WebLogic Commerce Server documentation What's New page for information about recent updates.

 


Contacting BEA Customer Support

If you have any questions about this version of BEA WebLogic Commerce Server and WebLogic Personalization Server, or if you have problems installing and running the product software, please contact BEA Customer Support through BEA WebSUPPORT http://www.bea.com/support. You can also contact Customer Support by using the contact information provided on the Customer Support Card, which is included in the product package.

When contacting Customer Support, be prepared to provide the following information:

Submitting Documentation Comments

Your feedback on the BEA WebLogic Commerce Server and WebLogic Personalization Server documentation is important to us. Send us e-mail at docsupport@bea.com if you have questions or comments about the documentation. Your comments will be reviewed directly by the BEA professionals who create and update the WebLogic Commerce Server and WebLogic Personalization Server documentation.

Note: Please do not use the docsupport@bea.com E-mail account to report software problems or inquire about software functionality.

In your e-mail message, please indicate that you are using the documentation for the BEA Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.5 release.

Note About Evaluation Support

If you are evaluating this product and it is your first 30-day evaluation, BEA Systems is pleased to offer technical support through its BEA WebEvalNET at http://www.bea.com/evalnet/.

The first time you need technical support, complete the WebEvalNET registration form to receive a Login ID and other BEA WebEvalNET information. In most cases, the BEA EvalNET team of support engineers will address your technical issues within one business day.

 

back to top previous page