Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem using a custom classloader with an EJB client application

20 views
Skip to first unread message

Anand

unread,
Jun 25, 2004, 4:38:07 AM6/25/04
to

Our project has a requirement for downloading the latest versions of the client
jar files from a web-server based on what classes are being referenced. To do
this I have written a custom class loader that performs a function similar to
what Java Webstart does. I wrote this custom class loader since we faced some
issue with Webstart. This class loader calls the system classloader first and
if that fails, it will search in an xml file where a mapping of the class to the
url is specified. The class loader works fine for normal applications. But when
used in our project, that uses EJB framework and t3 protocol to connect to a Weblogic
8.1 server, it fails at the startup. Here the stack trace shows that the class
ApplicationFrontControllerBean_h 8i06u_HomeImpl_812_WLStub could not be generated..
The ApplicationFrontControllerBean is the first bean that is invoked.All the other
server calls passes through this. The client application runs fine when used with
command line. I wud be thankful to u if anyone cud throw some light on this problem.


com.emirates.dacs.logical.services.common.appclient.frontcontroller.ApplicationFrontControllerHome
java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:658)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:651) at
weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:59) at weblogic.common.internal.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:231)
at weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:80)
at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:355)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1311) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:140)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:91)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:161)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at weblogic.jndi.internal.ServerNamingNode_WLStub.lookup(Unknown Source) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:337)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:332) at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.lookup(ServiceLocator.java:297)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.getHome(ServiceLocator.java:199)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.getControllerHome(Dispatcher.java:161)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.dispatch(Dispatcher.java:102)
at com.emirates.dacs.logical.application.handler.common.security.auth.login.LoginHandler.signUser(LoginHandler.java:60)
at com.emirates.dacs.logical.application.view.appclient.common.security.system.user.Login$3.run(Login.java:661)
Caused by: java.lang.NoSuchMethodError: weblogic.rmi.utils.Utilities.getRemoteRMIMethods([Ljava/lang/Class;)[Ljava/lang/reflect/Method;
at com.emirates.dacs.logical.services.common.appclient.frontcontroller.ApplicationFrontControllerBean_h8i06u_HomeImpl_812_WLStub.ensureInitialized(Unknown
Source) at com.emirates.dacs.logical.services.common.appclient.frontcontroller.ApplicationFrontControllerBean_h8i06u_HomeImpl_812_WLStub.<init>(Unknown
Source) ... 29 more weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[
Failed to generate class for com.emirates.dacs.logical.services.common.appclient.frontcontroller.ApplicationFrontControllerBean_h
8i06u_HomeImpl_812_WLStub ] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:662)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:651) at
weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:59) at weblogic.common.internal.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:231)
at weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:80)
at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:355)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1311) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:140)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:91)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:161)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at weblogic.jndi.internal.ServerNamingNode_WLStub.lookup(Unknown Source) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:337)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:332) at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.lookup(ServiceLocator.java:297)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.getHome(ServiceLocator.java:199)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.getControllerHome(Dispatcher.java:161)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.dispatch(Dispatcher.java:102)
at com.emirates.dacs.logical.application.handler.common.security.auth.login.LoginHandler.signUser(LoginHandler.java:60)
at com.emirates.dacs.logical.application.view.appclient.common.security.system.user.Login$3.run(Login.java:661)
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Failed to generate
class for com.emirates.dacs.logical.services.common.appclient.frontcontroller.ApplicationFrontControllerBean_h
8i06u_HomeImpl_812_WLStub ] at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:662)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:651) at
weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:59) at weblogic.common.internal.RemoteObjectReplacer.resolveObject(RemoteObjectReplacer.java:231)
at weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:80)
at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:355)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1311) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:140)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:91)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:161)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:263)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
at weblogic.jndi.internal.ServerNamingNode_WLStub.lookup(Unknown Source) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:337)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:332) at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.lookup(ServiceLocator.java:297)
at com.emirates.dacs.logical.comp.framework.servicelocator.ServiceLocator.getHome(ServiceLocator.java:199)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.getControllerHome(Dispatcher.java:161)
at com.emirates.dacs.logical.application.dispatcher.Dispatcher.dispatch(Dispatcher.java:102)
at com.emirates.dacs.logical.application.handler.common.security.auth.login.LoginHandler.signUser(LoginHandler.java:60)
at com.emirates.dacs.logical.application.view.appclient.common.security.system.user.Login$3.run(Login.java:661)


Andy Piper

unread,
Jun 25, 2004, 1:13:25 PM6/25/04
to
"Anand" <ita...@hotmail.com> writes:

I would recommend you use wlclient.jar in this instance.

andy

Anand

unread,
Jun 28, 2004, 12:59:14 AM6/28/04
to

I tried using wlclient.jar. but getting the same problem. is there any way by which
I cud create/get the stub class??

Andy Piper

unread,
Jun 28, 2004, 12:33:37 PM6/28/04
to
"Anand" <ita...@hotmail.com> writes:

> I tried using wlclient.jar. but getting the same problem. is there any way by which
> I cud create/get the stub class??

The stacktrace below is impossible with wlclient.jar, so something
else must be going wrong. The stub class should be created by running
appc or ejbc.

andy

--

0 new messages