PK01223: CLASSNOTFOUNDEXCEPTION ON BEAN CLASS THROWN WHEN GETEJBMETADATA CALLED ON EJBHOME FROM EJB CLIENT PACKAGED WITH EJB CLIENT STUBS

 A fix is available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
An EJB is installed on WebSphere Application Server 5.0.2.x.  A
remote EJB client accesses the EJB and calls getEJBMetaData on
the EJBHome interface.  No problem exists if the full EJB jar
file is packaged with the client, but if only the client stubs
are packaged with the client, the following exception is thrown:
java.lang.ClassNotFoundException: <bean class>
 at
java.net.URLClassLoader.findClass(URLClassLoader.java(Inlined
Compiled Code))
 at
com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.jav
a(Compiled Code))
 at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled
Code))

 at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled
Code))
 at
com.ibm.ws.ejb.portable.EJBMetaDataImpl.readObject(EJBMetaDataIm
pl.java:316)
...
Local fix
Package the full EJB jar file with the EJB client.
Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 V5.0 for z/OS                                *
****************************************************************
* PROBLEM DESCRIPTION: When a remote EJB client accesses an    *
*                      EJB installed on WebSphere Application  *
*                      Server 5.0.2 and calls getEJBMetaData   *
*                      on its EJBHome interface, the           *
*                      following exception is thrown:          *
*                      java.lang.ClassNotFoundException:       *
*                        <bean class>                          *
*                       at                                     *
*                      java.net.URLClassLoader.findClass       *
*                        (URLClassLoader.java                  *
*                        (InlinedCompiled Code))               *
*                       at                                     *
*                      com.ibm.ws.bootstrap.ExtClassLoader.    *
*                        findClass(ExtClassLoader.java         *
*                        (CompiledCode))                       *
*                       at                                     *
*                      java.lang.ClassLoader.loadClass         *
*                        (ClassLoader.java(CompiledCode))      *
*                       at                                     *
*                      java.lang.ClassLoader.loadClass         *
*                        (ClassLoader.java(CompiledCode))      *
*                       at                                     *
*                      com.ibm.ws.ejb.portable.EJBMetaDataImpl *
*                        .readObject(EJBMetaDataImpl.java:316) *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
In order to determine the bean's implementation class name
while deserializing the bean reference on the client side,
Class.forName() was being driven. Since the bean implementation
class is appropriately not available on the client side, the
result is the ClassNotFoundException. This was occurring simply
due to the serializable nature of the reference and the fact
that the bean's implementation classname (a string) was
declared as a non-transient field, which implies that it must
be derived  at deserialization time.
Problem conclusion
The code was altered to declare the bean implementation
classname as a transient field. Additionally, the serialization
methods readobject and writeObject were updated to perform the
corresponding serialization actions for this new transient
field, ensuring that the stringified class name is serialized
with the object itself.

APAR PK01223 is associated with SERVICE LEVEL W502027 of
WebSphere Application Server V5.0 for z/OS.
Temporary fix Comments
&#158;**** PE05/04/19 PTF IN ERROR. SEE APAR 
PK04495  FOR DESCRIPTION
APAR information
APAR number PK01223
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention YesSpecatt / CST
Submitted date 2005-02-16
Closed date 2005-04-01
Last modified date 2007-08-21

APAR is sysrouted FROM one or more of the following:
PK01124

APAR is sysrouted TO one or more of the following:
UK02023

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UK02023    UP A

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Current web document: swg1PK01223.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PK01223
IBM Group: Software Group
Modified date: Aug 21, 2007