Hi BVO,

We really need to know what
ClassUtils.forName(pivotQName.getLocalPart()).newInstance().getClass()
evaluates to in the case of error.


Jeff


----- Original Message ----- 
From: "BVG" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, June 15, 2005 4:35 AM
Subject: Re: classloader problem


Hi Jeff,

The stub call is done in the JAAS module (file: SampleLoginModule.java),
this module is configured on Tomcat application, and when I press the
authentication form the JAAS module runs. When it runs, call the
VerificaAutenticacao WebService, which returns some values to check if this
user is authenticate. It's in this call that I got a CastClassException on
the file WSDDTargetedChain.java:157(Axis code), and in there I see different
ids for the same Handler:
"ClassUtils.forName(pivotQName.getLocalPart()).newInstance().getClass().getS
uperclass().getInterfaces()" = java.lang.Class[1] (id=85)
"Class.forName("org.apache.axis.Handler")" = java.lang.Class
(org.apache.axis.Handler) (id=91)

But, if I call the same webservice but outside that JAAS module, everything
works, and the ids are the same for the same handler:
"ClassUtils.forName(pivotQName.getLocalPart()).newInstance().getClass().getS
uperclass().getInterfaces()" = java.lang.Class[1] (id=85)
"Class.forName("org.apache.axis.Handler")" = java.lang.Class
(org.apache.axis.Handler) (id=85)

Any ideas? humm.. :(
Thanks one more time Jeff

Jeff wrote:

>In a discussion about error handling a while back, I mentioned to James
>Taylor how insane it is to report a ClassCastException without citing the
>offending class.
>
>Presumably you know which class your handler is or can look it up in the
><handler> element of your deployment descriptor. You need to ensure that it
>implements org.apache.axis.Handler, one way or another.
>
>If that doesn't help, make sure your log4j.properties file of configured to
>dump in DEBUG mode and check out the log for clues.
>
>(I wonder if anyone has every estimated how much Java development time is
>wasted globally on class path issues.)
>
>
>Jeff
>
>
>----- Original Message ----- 
>From: "BVG" <[EMAIL PROTECTED]>
>To: <[email protected]>
>Sent: Tuesday, June 14, 2005 8:06 AM
>Subject: classloader problem
>
>
>I've a problem with classloader.
>I got all the time CastClassException when I invoke directly a stub (Axis
>1.2) on a JAAS module (Java authentication).
>It seems the problem is on this line (WSDDTargetedChain.java:157):
>pivot =
>(Handler)ClassUtils.forName(pivotQName.getLocalPart()).newInstance();
>
>the cast Handler is not from the same instance of result and throw a
>CastClass Exception.
>What can I do to prevent this frustrating problem?
>
>I really need your help!
>Thank you all!
>
>--------------------- ERROR ---------------------------
>AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString: java.lang.ClassCastException
> faultActor:
> faultNode:
> faultDetail:
>    {http://xml.apache.org/axis/}stackTrace:java.lang.ClassCastException
>    at
>org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTarge
t
>edChain.java:157)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeplo
y
>ableItem.java:274)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployab
l
>eItem.java:260)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.
j
>ava:394)
>    at
>org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:2
5
>7)
>    at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:332)
>    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:163)
>    at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
>    at org.apache.axis.client.Call.invoke(Call.java:2748)
>    at org.apache.axis.client.Call.invoke(Call.java:2424)
>    at org.apache.axis.client.Call.invoke(Call.java:2347)
>    at org.apache.axis.client.Call.invoke(Call.java:1804)
>    at
>com.jcms.Axis.WSPortal.WS_AcessoPortalSoapStub.verificaAutenticacao(WS_Aces
s
>oPortalSoapStub.java:321)
>    at com.jcms.Axis.Webservices.VerificaAutenticacao(Webservices.java:263)
>    at jaas.module.SampleLoginModule.login(SampleLoginModule.java:214)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9
>)
>    at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l
>.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:324)
>    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)
>    at
>javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
>    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
>javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
>    at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
>    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
>    at
>org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthen
t
>icator.java:229)
>    at
>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBas
e
>.java:446)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:13
7
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:11
8
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
a
>:109)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>    at
>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>    at
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>    at
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn
e
>ction(Http11Protocol.java:705)
>    at
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>    at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja
v
>a:683)
>    at java.lang.Thread.run(Thread.java:534)
>
>    {http://xml.apache.org/axis/}hostname:bvg
>
>java.lang.ClassCastException
>    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
>    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)
>    at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
>    at org.apache.axis.client.Call.invoke(Call.java:2748)
>    at org.apache.axis.client.Call.invoke(Call.java:2424)
>    at org.apache.axis.client.Call.invoke(Call.java:2347)
>    at org.apache.axis.client.Call.invoke(Call.java:1804)
>    at
>com.jcms.Axis.WSPortal.WS_AcessoPortalSoapStub.verificaAutenticacao(WS_Aces
s
>oPortalSoapStub.java:321)
>    at com.jcms.Axis.Webservices.VerificaAutenticacao(Webservices.java:263)
>    at jaas.module.SampleLoginModule.login(SampleLoginModule.java:214)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9
>)
>    at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l
>.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:324)
>    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)
>    at
>javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
>    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
>javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
>    at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
>    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
>    at
>org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthen
t
>icator.java:229)
>    at
>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBas
e
>.java:446)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:13
7
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:11
8
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
a
>:109)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>    at
>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>    at
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>    at
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn
e
>ction(Http11Protocol.java:705)
>    at
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>    at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja
v
>a:683)
>    at java.lang.Thread.run(Thread.java:534)
>Caused by: java.lang.ClassCastException
>    at
>org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTarge
t
>edChain.java:157)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeplo
y
>ableItem.java:274)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployab
l
>eItem.java:260)
>    at
>org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.
j
>ava:394)
>    at
>org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:2
5
>7)
>    at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:332)
>    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:163)
>    ... 38 more
>-     END: Webservice
>SampleLoginModule abort() - BEGIN
>SampleLoginModule abort() - END
>- Login exception authenticating username teste
>javax.security.auth.login.LoginException: java.lang.NullPointerException
>    at jaas.module.SampleLoginModule.login(SampleLoginModule.java:217)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9
>)
>    at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l
>.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:324)
>    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)
>    at
>javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
>    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
>javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
>    at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
>    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
>    at
>org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthen
t
>icator.java:229)
>    at
>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBas
e
>.java:446)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:13
7
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:11
8
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
a
>:109)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>    at
>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>    at
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>    at
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn
e
>ction(Http11Protocol.java:705)
>    at
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>    at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja
v
>a:683)
>    at java.lang.Thread.run(Thread.java:534)
>
>    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:730)
>    at
>javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
>    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
>javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
>    at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
>    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
>    at
>org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthen
t
>icator.java:229)
>    at
>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBas
e
>.java:446)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:13
7
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:11
8
>)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:102)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
a
>:109)
>    at
>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
x
>t.java:104)
>    at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>    at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>    at
>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>    at
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>    at
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn
e
>ction(Http11Protocol.java:705)
>    at
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>    at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja
v
>a:683)
>    at java.lang.Thread.run(Thread.java:534)
>
>
>





Reply via email to