PQ95317: LOOKUPS FAILING WHEN ATTEMPTING TO ACCESS EJBS FROM A SERVLET IN WEBSPHERE 4.01 RUNNING IN 3.5 COMPATIBILITY MODE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description The customer deployed and tested EJBs in Version 5.1 WebSphere. The customer attempts to access these same EJBs from a servlet in a Version 4.01 WebSphere Server running in 3.5 compatibility mode and receives the following error: "java.lang.NoSuchMethodError: com.ibm.ejs.ns.jndi.CNContextImpl: method <init>(Ljava/util/Hashtable;Lorg/omg/CORBA/ORB;Lorg/omg /CosNaming/NamingContext;Ljava/lang/String;Lcom/ibm/ws/naming/ jcache/Cache;)V not found .at com.ibm.ws.naming.util.WsnInitCtxFactory.getCosRootContext"Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * version 4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: Enterprise Java Beans (EJBs) deployed * * on WebSphere Application Server v5.1 * * cannot be looked up from an application * * running on WebSphere Application * * server v4.0.1 which is configured with * * the simple configuration option (3.5 * * compatibility mode.) The following * * error may be seen: * * java.lang.NoSuchMethodError: * * com.ibm.ejs.ns.jndi.CNContextImpl: * * method <init>(Ljava/util/Hashtable; * * Lorg/omg/CORBA/ORB;Lorg/omg * * /CosNaming/NamingContext; * * Ljava/lang/String; * * Lcom/ibm/ws/naming/jcache/Cache;) * * V not found * * at com.ibm.ws.naming.util * * .WsnInitCtxFactory.getCosRootContext * **************************************************************** * RECOMMENDATION: * **************************************************************** The customer is migrating to version 5.1 of WebSphere Application Server from version 4.0.1. The customer tested and deployed EJBs in a WebSphere Application Server v5.1 environment (which has full CosNaming support). When the customer attempts to access these same EJBs from a servlet configured in a WebSphere Application Server v4.0.1 environment using the simple configuration option, a lookup is performed by the WebSphere Application Server v4.0.1 Web Container. This (LDAP) lookup fails because of a different implementation of the classes CNContextImpl and CNInitialContextFactory between versions 4.0.1 and 5.1.Problem conclusion To allow EJBs deployed on version 5.1 of WebSphere Application Server to be looked up from version 4.0.1 running the simple configuration option, the version 4.0.1 Web Container implements new function in the connection context implementation class CNContextImpl. This function allows the EJB JNDI name to be passed into the implementation by system properties. That name is then used to perform the naming lookup. This behavior is controlled by three system properties passed in the was.conf configuration file: appserver.java.extraparm=-DDisable.J2EE=true appserver.java.extraparm=-Dcom.ibm.naming.post401=true appserver.java.extraparm=-Dejb.jndi.name.prefix =<whatever prefix the EJB look up string is> APAR PQ95317 requires a change to documentation. The following information will be added to "Chapter 10 Using JNDI look-ups" of "Assembling Java 2 Platform Enterprise Edition (J2EE) Applications" (SA22-7836-06) Note: To enable applications running in WebSphere Application Server v4.0.1 using the simple configuration option to lookup Enterprise Java Beans (EJBs) deployed on version 5.0 / 5.1 of WebSphere Application Server, the following three properties must be added to the was.conf configuration file, each of the appserver.java.extraparm statements to be coded on one line of the was.conf configuration file: appserver.java.extraparm=-DDisable.J2EE=true appserver.java.extraparm=-Dcom.ibm.naming.post401=true appserver.java.extraparm=-Dejb.jndi.name.prefix =<whatever prefix the EJB look up string is> IBM suggests that the EJB lookup name should use topology based JNDI names. For example, cell/nodes/MYNODE/servers/MYSERVER/<the EJB name> The latest version of this publication is available on the product library page at URL: http://www.ibm.com/software /webservers/appserv/zos_os390/library.html APAR PQ95317 is associated with SERVICE LEVEL W401616 of WebSphere Application Server version 4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ95317
IBM Group: Software Group
Modified date: Dec 2, 2004
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.