BEA Logo BEA WebLogic Portal Release 4.0

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

 

  WebLogic Portal Doc Home   |     Frequently Asked Questions (FAQ)

Frequently Asked Questions

 

This document includes answers to Frequently Asked Questions (FAQ) for the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server, releases 3.x. In addition to finding answers here, you can also browse other FAQs or ask your specific question at the AskBEA Web site. Other sources of information include the BEA newsgroups at newsgroups.bea.com, particularly:

For your convenience, the FAQs covered in this document are grouped into the following categories:

 


Installation and Configuration

This section contains FAQs that are related to the installation and configuration of the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


When I invoke a JavaServer Page in WebLogic Commerce Server and WebLogic Personalization Server 3.2 and earlier, I get a JSPException. How can I fix this problem?

The complete JSPException addressed here is:

"Error in tag library at: 'wl', cannot load extra info class 'weblogicx.jsp.tags.RepeatTagInfo'".

The weblogic-tags-510.jar file is missing from your WEBLOGIC_CLASSPATH. Check your set-environment.bat file (or set-environment.sh file on UNIX) and make sure your WEBLOGIC_CLASSPATH includes weblogic-tags-510.jar. Also, verify that this file actually exists in the location that your WEBLOGIC_CLASSPATH specifies.


How can I use the WebLogic Personalization Server without the WebLogic Commerce Server in the 3.2 release? In other words, I want to deploy only the Enterprise JavaBeans (EJBs) necessary for the WebLogic Personalization Server in the weblogic.ejb.deploy section of the weblogic.properties file.

It is not possible to install only the WebLogic Personalization Server in the 3.2 release, but the deployment of WebLogic Commerce Server components can be disabled. To disable these components, comment out the deployment of the ebusiness.jar to reduce the number of EJBs from 56 to 34. The deployment string will look like the following:

weblogic.ejb.deploy=\
d:/wlcs32/lib/foundation.jar,\
d:/wlcs32/lib/axiom.jar,\
d:/wlcs32/lib/advisor.jar,\
d:/wlcs32/lib/bridge.jar,\
d:/wlcs32/lib/document.jar,\
d:/wlcs32/lib/p13nadvisor.jar,\
d:/wlcs32/lib/portal.jar,\
d:/wlcs32/lib/ruleeditorbeans.jar,\
d:/wlcs32/lib/rulesservice.jar,\
d:/wlcs32/lib/servicemgr.jar
# d:/wlcs32/lib/ebusiness.jar

Additionally, comment out the deployment for the wlcs Web application, as it will not work without the WebLogic Commerce Server components:

# Defines the wlcs Web Application.
# weblogic.httpd.webApp.wlcs=d:/wlcs32/server/webapps/wlcs/


Can the 3.x releases of the WebLogic Commerce Server and WebLogic Personalization Server be started as an NT service?

BEA currently does not ship the WebLogic Commerce Server and WebLogic Personalization Server so that it is installable as a service. For version 3.5 however, scripts to create an NT service for WebLogic Commerce Server and WebLogic Personalization Server are available from Support.


How can I make the 3.2 and earlier releases of the WebLogic Commerce Server and WebLogic Personalization Server work with WebLogic Server 6.0?

The 3.2 and earlier releases of the WebLogic Commerce Server and WebLogic Personalization Server are meant to be run against WebLogic Server 5.1, not 6.0. However, the 3.5 release of WebLogic Commerce Server and WebLogic Personalization Server will work with WebLogic Server 6.0. It is also possible to have both WebLogic Server 5.1 and WebLogic Server 6.0 installed on the same machine.

Tip: Be sure to check the "Supported Platforms" topic in the Installation Guide for more information about a release's supported hardware and software platforms.


I'm using WebLogic Commerce Server 3.5 with WebLogic Server 6.0, and have placed my classes under my Web application's WEB-INF/classes directory. However, I get a NoClassDefFoundException because the com.beasys.commerce.webflow.WebflowAdvisor cannot find the class in this directory. How can I resolve this issue?

The system classloader, created when the Java Virtual Machine (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 Enterprise JavaBeans (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 the WEB-INF/classes and WEB-INF/lib directories.

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 not find classes under your Web application's WEB-INF/classes directory -- WebflowAdvisor is not part of your Web application. Classes located in your Web application's WEB-INF/classes directory are only accessible by JavaServer Pages (JSPs) or servlets that are a part of your Web application.

So unfortunately, the answer is to place your classes in the java.class.path, and consequently, they cannot be hot deployed.

Note: A related point is that any Pipeline Components or Input Processors you create cannot be placed in your Web application's WEB-INF/classes or WEB-INF/lib directories, because the PipelineExecutor can not find them there. They must be located outside the .war file (or outside the directory structure of the Web application).

Tip: Related information can be located in the Required Steps for Deploying EJBs section of "Deploying EJBs to WebLogic Server" in the Progamming WebLogic Enterprise JavaBeans documentation.


What command can I use to properly shutdown WebLogic Commerce Server and WebLogic Personalization Server 3.x or earlier?

Starting with version 3.5, you can use the WebLogic Server Administration Console to shut down the WebLogic Commerce Server and WebLogic Personalization Server. However, in order to gracefully shutdown WebLogic Commerce Server and WebLogic Personalization Server 3.2 and earlier, you need to:

  1. Set the environment for the DOS command-line window by running set-environment.bat (Windows) or set-environment.sh (UNIX).

  2. Run the following command from a DOS command-line window. (Be sure to substitute the host name and port number as necessary for your environment.)
    java weblogic.Admin t3://localhost:7501 SHUTDOWN system weblogic
    
    

Note: (For more information about the shutdown utility, see the Shutdown section of "Running and Maintaining the WebLogic Server" in the WebLogic Server Administrator Guide documentation.


What does platform certification mean?

BEA certifies the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products on multiple platforms, JVMs, and operating system configurations. BEA only certifies platforms that pass rigorous internal testing. BEA strongly recommends that you install and deploy applications using our products only on a certified platforms. Additionally, BEA only provides support for certified platforms.

Tip: For more information about certification and to learn which hardware and software platforms are certified for a given release, see the "Supported Platforms" topic in a release's Installation Guide.


I have WebLogic Commerce Server and WebLogic Personalization Server 3.x. How do I get a license, documentation, and/or other support for third-party products such as Interwoven Content Express, Documentum, and TAXWARE?

Software, documentation, evaluation licenses, and support for third-party products are provided by the product's vendor. The integration between WebLogic Commerce Server and WebLogic Personalization Server 3.x and third-party products such as Documentum, Interwoven, and TAXWARE were developed by the respective vendor, and as such, are supported solely by that vendor.

 


Databases

This section contains FAQs that are related to using databases (other than Cloudscape) with the WebLogic Commerce Server and WebLogic Personalization Server 3.x products.


When I start WebLogic Commerce Server and WebLogic Personalization Server 3.x using Oracle, I get the following exception when trying to create the commercePool:

----------  LOGIN ERROR CODE: 24327

<Error> <JDBC Connection Pool> <Cannot startup connection pool "commercePool" 

weblogic.common.ResourceException: Could not create pool connection. The DBMS 

driver exception was: java.sql.SQLException: ORA-24327: need explicit attach 

before authenticating a user - (scott/*****@myOraDB,)

at weblogic.db.oci.OciConnection.getLDAException(OciConnection.java:161)

at weblogic.jdbcbase.oci.Driver.connect(Driver.java:92)

at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection

(ConnectionEnvFactory.java:155)

at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource

(ConnectionEnvFactory.java:114)

There are a number of things that could cause this error. Here are some to check:

  1. Verify that Oracle is running.

  2. Be sure to have the Oracle TNS Listener Service running, so that it is available to listen for attempts to connect to the database (Windows systems).

  3. Check your ORACLE_HOME environment variable, to be sure it is set correctly.

  4. Make sure the directory containing the Oracle OCI driver is in your PATH.

  5. Verify that <ora-home>\bin is in your PATH.

  6. Be sure your TNSNAMES.ORA file has an entry for your database instance, and make sure that entry is correct.

  7. If you are using WebLogic Server 6.0, check that the syntax and punctuation in the connection pool properties defined in your config.xml file is correct. For example:
    Properties="verbose=false;user=scott;password=tiger;weblogic.t3
    
    .waitForConnection=true;weblogic.t3.waitSecondsForConnection=99
    
    9999999999,weblogic.jts.waitSecondsForConnectionSecs=9999999999
    
    99;server=myOraDB"
    
    

  8. If you are using WebLogic Server 5.1, make sure the connection pool is defined correctly in your weblogic.properties file.

  9. Verify that your commerce.usermgmt.RDBMSRealm properties are set up correctly in weblogiccommerce.properties.

To troubleshoot this problem, first make sure you can connect using Oracle's SQL*Plus utility. If you can do that, then try using WebLogic Server's dbping utility. Once both of those utilities are working, then try to start WebLogic Commerce Server and WebLogic Personalization Server 3.x.

 


Product Licenses

This section contains FAQs that are related to product licenses for the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


How do I extend my evaluation license?

You can extend your evaluation licenses for WebLogic Commerce Server and WebLogic Personalization Server 3.x by contacting your BEA sales person or by sending e-mail to sales@bea.com.


How do I migrate licenses from one product version to another?

Beginning with WebLogic Commerce Server and WebLogic Personalization Server 3.5, migrating licenses is a two-step process. First, you need to convert your old license to the new format, then you need to merge this new license into your central license.bea file. To convert your old license to the new format, log into WebSupport at http://websupport.beasys.com and complete the appropriate License Key Upgrade form. A new license will be e-mailed to you. Once you receive it, follow the instructions for Licensing the Product Package(s) to apply this new license file to license.bea.

 


Webflow

This section contains FAQs that are related to the Webflow mechanism used in the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


In WebLogic Commerce Server 3.x releases, how does Webflow handle the destination URL? Does Webflow use forward() or sendRedirect() to go to the destination URL?

Webflow uses the forward() method to go to the destination URL.


I'm using an Apache (or Netscape or IIS) plug-in with WebLogic Commerce Server and WebLogic Personalization Server release 3.x. The URLs generated by Webflow have the Apache server name, but the WebLogic Commerce Server port number rather than the port Apache is listening on. How can I get Webflow to generate URLs with the correct port number?

There are two settings for Webflow in the web.xml file that indicate the HTTP and HTTPS port at which the server is running: HTTP_PORT and HTTPS_PORT. Without the Apache (or Netscape or IIS) plug-in, these would be the same as the weblogic.system.listenport and weblogic.system.SSLlistenport properties in the weblogic.properties file in a single node deployment (without a proxy), or the HTTP and HTTPS ports of the proxy in a cluster. If not specified, these values default to the values for the weblogic.system.listenport and weblogic.system.SSLlistenport properties.

When using Apache, Netscape, or IIS, change the HTTP_PORT and HTTPS_PORT values in the web.xml file to the HTTP and HTTPS ports for your Apache, Netscape, or IIS server. For example:

<context-param>

   <param-name>HTTP_PORT</param-name>

   <param-value>80</param-value>

</context-param>

<context-param>

   <param-name>HTTPS_PORT</param-name>

   <param-value>443</param-value>

</context-param>


In WebLogic Commerce Server 3.x, can you have multiple versions of webflow.properties? We have multiple Web applications for our site and we would like each one to have it's own Webflow.

In the 3.x releases, you can only have one webflow.properties file per instance of the WebLogic Commerce Server. Each application deployed on the server uses the same webflow.properties file.

Note: The 4.0 release of the WebLogic Portal product suite (which now includes the Commerce services) allows you to have multiple Webflows within an enterprise application, and also lets you divide a Web application's Webflow into a number of smaller modules, called namespaces. In addition, the webflow.properties file is replaced by an XML configuration file. Please see the Guide to Managing Presentation and Business Logic: Using Webflow and Pipeline documentation for more information.


In WebLogic Commerce Server 3.x, how is the login page invoked when using Webflow? I don't see it represented in the webflow.properties file.

The login process is triggered by WebLogic Server. When you access a protected resource like the login JSP, WebLogic Server intervenes and initiates a login prior to forwarding the customer to the page they originally wanted to access. Protected resources are defined in an application's web.xml deployment descriptor (in the <security-constraint> elements). This is standard J2EE behavior and part of the declarative security mechanism for Web applications.

Tip: For more information on declarative security and its representation in the web.xml deployment descriptor, see the Security Guide.

 


JavaServer Pages (JSPs) and JSP Tags

This section contains FAQs that are related to JSPs and JSP tags for the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


While using the browser-based Administration Tool or navigating a personalized application, I receive a NullPointerException. Why does this happen?

The complete NullPointerException addressed here is NullPointerException at weblogic.utils.UnsyncHashtable.
put(UnsyncHashtable.java,Compiled Code)

A possible cause of this exception is that the application tried to put NULL into a session attribute. Putting NULL into an HttpSession attribute causes a NullPointerException with the message:

java.lang.NullPointerException

at weblogic.utils.UnsyncHashtable.put(UnsyncHashtable.java, Compiled Code)

.

.

.

This implies that your application was in an unexpected state when you saw this error. Perhaps a JSP page was accessed directly, but that JSP page depended upon some other code to have already provided a value. That supposedly present value is then put into the session with session.setAttribute(), JspBase.setSessionValue(), and so on, but the value is NULL so a NullPointerException with the UnsyncHashtable message is thrown.

 


Portal Framework

This section contains FAQs that are related to the portal framework in the WebLogic Personalization Server 3.x products.


I'm using WebLogic Personalization Server 3.x. How can I make it so that Web site visitors are required to login before accessing portal.jsp?

Add the following code to the top of portal.jsp so that Web site visitors will be required to login prior to viewing the page:

<%-- Check to ensure the user is logged in --%>

<esp:monitorSession loginRequired="true" goToPage="_userlogin.jsp"/>

Tip: For more information, see the Portal Management JSP Library Reference section of the Guide to Creating Portals and Portlets documentation.


Can I create portals with layouts other than the default layouts (add more columns, navigation bars, and so on)?

An important thing to realize about portal layout is that the example portal contains JSP code simply to demonstrate how things work. A look at the JSP source code for the example portal will reveal the HTML which is used to control the layout. For example, the portlets are dynamically included with <jsp:include> in cells within an HTML table. While the standard portal can only handle up to 3 columns, you can easily have more by including a non-portlet column on the left or right. The portlets could be in the three right-hand columns and will behave as in the standard example. The left-hand column could be its own JSP and might be a navigation bar. The same is true for the headers, footers, and so on. These are simply JSPs with HTML formatting, so you can make the portal look any way you want.

In other words, you can place portlets in any position as long as it is legal in HTML. The API can be used to persist the portlet row-column position (see the PortletJspBean, for example). A complete rewrite of the example portal layout does require some understanding of HTML and good Java skills.


How can I create a tabbed portal with a different set of portlets for each tab using WebLogic Personalization Server 3.x?

The exampleportal Web application displays a single set of portals that can be arrranged by a Web site visitor with the _user_layout.jsp page. The administrator can also change the portal layout with the browser-based Administration Tools. This default implementation does not include an example of a tabbed portal.

However, there are many ways that you could implement such a solution. The possibilities are endless because the structure of the layout is controlled by JSP, HTML, and the data structure of the arranged portlets for a portal/group/user. The following paragraphs describe a possible solution that would probably be easy to implement.

For this solution, we have a main portal with a set of general sports portlets. The layout for the main portal and general sports portlets is administered via the Administration Tools. At the top of the portal is a set of tabs that are .gif links with a request parameter "portletSet". The set of tabs is a JSP snippet that is dynamically included with <jsp:include> statement after the header in portal.jsp. The URL for each link is created with the createURL() method of PortalJspBase (which extends JspBase). Experiment with this method, and you will see how it works. For a non-Web application, the URL you want will look like: /application/
exampleportal?portletSet=hockey
. For a Web application, the URL will look like: /portal/application/exampleportal?portletSet=hockey.

For administration purposes, we have created the main portal, a hockey portal, a football portal, and so on with the Administration Tool. Each portal has a different set of portlets. The Web site visitor only really accesses the main portal. We use the other portals to manage the set of portlets that they contain. We will use the main portal to display those portlets.

When you click the tab link for portletSet=hockey, the request goes right back to the main portal. Look at portal.jsp. It includes a JSP page called portalcontent.jsp. We will change the code at the top of portalcontent.jsp. Instead of always getting the Portlet[][] array for the main portal, it will get the Portlet[][] array for the portal that matches the portletSet request attribute. Care will be taken to cache each portal so that performance is good. Look at the line:

<fm:getCachedAttribute id="tportal" name="<%=PortalTagConstants.CACHED_PORTAL%>" global="true" />

We will maintain several different global cached portals. So, instead of the above line, we will use something like:

<% String portletSet = (String) request.getAttribute("portletSet");

<fm:getCachedAttribute id="tportal" name="<%= portletSet %>" global="true" />

and

<es:isNull item="<%=tportal%>" >

	   <esp:portalManager action="get" id="myPortal" portalName="<%=portletSet%>"/>   

   <%tportal=myPortal;%>

   <fm:setCachedAttribute name="<%=portletSet%>" value="<%=myPortal%>" 

   global="true" />

</es:isNull>

We would use a similar method to cache the portlets, column information, and so on in the rest of portalcontent.jsp.

As for the Web site visitor's administration of the portal layout, that would also be easy. You could modify _user_layout.jsp to include a drop-down with a list of portals (portletSets) to administer, such as Main, Hockey, Football, and so on. Then you would change the JSP code to show the set of portlets for the selected portal (portletSet), just as you changed portalcontent.jsp.

Note: This may not be a complete solution. However, the point is that because portals are just HTML and JSP, there is really is no limit to what you can do. The out-of-the-box exampleportal application is just one way to use portal.

 


Rules

This section contains FAQs that are related to rules in the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


Does WebLogic Personalization Server 3.2 and earlier support multi-valued metatags?

The rules engine in WebLogic Personalization Server 3.2 and earlier does not support multi-valued metatags such as <META NAME="role" CONTENT="executive,technical">. The metatag "role" would be EITHER executive OR technical. Ideally, a cleaner way to implement this would be to have multiple metatags: one would be "role_executive" = yes/no, and another might be "role_technical" = yes/no. Another way would be to have the metatag of role defined with a string of compounded values. For instance, role = "executive_technical_administrative" or role = "technical_marketing". Then the rule would match on the specific compounded name, with a rule for each variation you want.

You can use multi-valued metatags with the <cm:select> tag. To do this, you would construct a query using wildcards, then iterate through the result while printing each matched document. For more information about the <cm:select> tag, see Personalization Server JSP Tag Library Reference in the Guide to Building Personalized Applications documentation.


I'm using WebLogic Personalization Server 3.5 and the E-Business Control Center (EBCC) version 1.1. In 3.2 and earlier, it was possible to specify "CONTENT.startDate <= now". How do I compare a date to "now" in the Content Search portion of the EBCC for a content selector?

In version 3.5, "now" is no longer an option. The workaround is to put a dateTimeOfRequest property in the HTTPRequest and compare the content start date to this property in the request.


I'm using WebLogic Personalization Server 3.5 and the E-Business Control Center (EBCC) 1.1. The EBCC requires that at least one condition is specified for a content selector. What if there aren't any "if" conditions?

As you state, all rules, including content selectors, require at least one condition. This makes more sense in rules other than content selectors, since conditions in the content query part of the content selector rule can be effectively specified. A recommended alternative is to use placeholders, which have one or more content queries associated with them. This is the new way of doing things. If you would rather continue using content selectors, use a condition that would always evaluate to true, for example, "It is after January 01, 1981."

Note: For more information about content selectors in the EBCC, see Retrieving Documents Using Content Selectors in the Using the E-Business Control Center documentation.


Are the rules in WebLogic Commerce Server and WebLogic Personalization Server versions 3.x cached? When I change a rule using the Administration Tool, I don't see the changes immediately. If it exists, is the cache timeout configurable?

Yes, rules are cached. The value for the ruleset reload interval is set to 5 minutes in the default installation, but you can change it to a shorter interval. Open the WL_COMMERCE_HOME\lib\rulesservice.jar (where WL_COMMERCE_HOME is the directory in which you installed the product) and extract the ejb-jar.xml file. In ejb-jar.xml, find the section for the rulesetReloadInterval, which should look like:

<env-entry>
<env-entry-name>rulesetReloadInterval</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>300000</env-entry-value>
</env-entry>

Change the value of 300000, which is time in milliseconds (300 sec or 5 min) to some smaller number. (A value of 5000 or so will make changes in the rules show up quickly.) Then, rejar to add the ejb-jar.xml file back into the rulesservice.jar.

Tip: While a small value is good for development, you may want a higher number for best performance in production (although of course this depends on how often your rules change).


Does the Rules Engine in WebLogic Personalization Server 3.5 have backward chaining, forward chaining, or both? What algorithm does it use? Is it fashioned after one of the existing engines (that is, JESS, ILOG, or OpsJ)?

The Rules Engine has forward chaining. It uses the RETE algorithm with both public and BEA proprietary optimizations. It is not fashioned after an existing rules engine, except by virtue of the fact that JESS and ILOG are also RETE-based.

 


User Management

This section contains FAQs that are related to user management in the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


Does WebLogic Personalization Server versions 3.2 or 3.5 support inheritance from multiple groups? For example, can I display the portlets for all groups that a user belongs to?

No. Out-of-the-box, WebLogic Personalization Server versions 3.2 and 3.5 do not support inheritance from multiple groups. If a user belongs to multiple groups, they must choose a group when they log in to the example portal. Therefore, you cannot display the portlets for all groups that a user belongs to.

A user is forced to choose a group upon logging in because that group is needed to set the explicit successor in the <um:getProfile> tag, and is set in the Portal session with the key JspConstants.SERVICEMANAGER_SUCCESSOR for use in such things as retrieving the portlets for a user.

The portal framework does not allow multiple inheritance of portal personalization parameters because it is vague in many cases. For example, what if two groups have a portlet in common and one group makes it visible, but one group has it set as not visible? There could be many such conflicts. As such, potentially the only situation in which multiple inheritance would be simple and straightforward would be where the groups have a mutually exclusive collections of portlets. This would be very complex to implement.

However, it is possible to implement a solution yourself to display all portlets for all groups that a user belongs to. The difficult part would be deciding how to handle the inconsistencies, such as coming up with a layout that is the sum of two different layouts, or handling conflicting information when the same portlets are in multiple groups. The act of obtaining a collection of the portlets for all groups that a user belongs to is straightforward. The API supports it, and there are even JSP tags provided that will do the job for you. Examples include <um:getGroupNamesForUser> and <esp:portletManager>.

Note: For more information about these JSP tags, see Personalization Server JSP Tag Library Reference and Portal Management JSP Tag Library Reference, respectively.


When the security realm for WebLogic Personalization Server 3.x is changed from the default RDBMS to LDAP, the administrator/password combination normally used to login to the Administration Tool no longer works. How can I fix this?

WebLogic Personalization Server 3.x is different from WebLogic Personalization Server 2.0.1 in that the administrator username and password are authenticated against the realm, not the WebLogic system user. The reason the administrator/password combination did not work is because you have switched to the LDAP Realm and probably do not have such a username/password combination in the LDAP server. The default database has a user it ships with that is accessed through the RDBMS Realm. All of this security is configured using the J2EE Web Application security. The web.xml deployment descriptor for the Administration Tools defines a role called AdminRole. It then sets the security for the tools so that only those with the AdminRole can access them. In the weblogic.xml file, the AdminRole is then mapped to a group called Admin. So anyone interested in using the tools must be a member of the Admin group in whatever realm you are using.

Now, chances are you do not have a group called Admin in your LDAP server. You can do one of two things:

  1. Add a group to your LDAP server called Admin and make sure the user you are trying to log in as is a member of that group .

  2. Edit the weblogic.xml file to map the AdminRole to an existing group in your LDAP server, and be sure the user you are trying to log in as is a member of that group.

Note: For more information about security roles and groups, see the Security Guide.


I'm using WebLogic Commerce Server and WebLogic Personalization Server 3.5 with WebLogic Server 6.0 SP2. How do I get the LDAP Realm working?

Whenever it comes to use of the LDAP Realm, misconfiguration is usually the cause of frustration. The situation gets complicated in WebLogic Commerce Server and WebLogic Personalization Server 3.5 because:

To get the LDAP Realm working, you should read Using the LDAP Realm in the "Creating and Managing Users" section of the Guide to Building Personalized Applications documentation.

In addition, the following checklist documents a way to enable LDAP Realm in WebLogic Commerce Server and WebLogic Personalization Server 3.5 with minimal changes required in the LDAP repository.

Caution: The LDAP upgrade is not certified for WebLogic Commerce Server and WebLogic Personalization Server 3.5.

Listing  1-1 shows LDAP XML in the config.xml file.

Listing 1-1 Sample of LDAP XML in the config.xml File

<LDAPRealm AuthProtocol="simple" Credential="password" GroupDN="o=beasys.com,ou=Groups" GroupIsContext="false"
GroupNameAttribute="cn" GroupUsernameAttribute="uniquemember"
LDAPURL="ldap://localhost:389" Name="MyNescapeLDAPRealm" Principal="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot" SSLEnable="false" UserAuthentication="bind" UserDN="o=beasys.com,ou=People" UserNameAttribute="uid" UserPasswordAttribute="userpassword" />

Listing  1-2 shows a sample of the ldaprealm.properties file.

Listing 1-2 Sample of the ldaprealm.properties File

server.alias=netscape

netscape.server.host=pchang

netscape.server.principal=uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot

netscape.server.credential=password

netscape.user.dn=ou=people, o=beasys.com

netscape.user.filter=(&(uid=%u)(objectclass=person))

netscape.group.dn=ou=groups, o=beasys.com

netscape.group.filter=(&(cn=%g)(objectclass=groupofuniquenames))

netscape.membership.filter=(&(uniquemember=%M)(objectclass=groupofuniquenames))

 


Security and Performance

This section contains FAQs that are related to security and performance in the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server 3.x products.


How can a user's password that has been stored in the database be decrypted?

WebLogic Commerce Server and WebLogic Personalization Server 3.x products use MD5 password encryption. This encryption format, which is known as MD5 Hashing, is a one-way hashing. Because it is one way only, you are not able to decrypt the password.


Can you provide me with some performance tips for the WebLogic Commerce Server and WebLogic Personalization Server 3.x products?

There are many important sources of information regarding performance, such as:

Also, you may want to monitor the public newsgroups described at the beginning of this FAQ for new information.