[ 
https://issues.apache.org/jira/browse/AXIS2-4930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12985149#action_12985149
 ] 

Isuru Eranga Suriarachchi commented on AXIS2-4930:
--------------------------------------------------

Yes, the handler class is not loaded from the service jar. The app class loader 
is set as the TCCL for an incoming message and the HandlerResolver tries to 
load the Handler class from this TCCL. Therefore, the handler is loaded only if 
the handler jar is in the root "lib" folder.

Thanks,
~Isuru

> handler class can't find, when using @HandlerChain in jaxws
> -----------------------------------------------------------
>
>                 Key: AXIS2-4930
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4930
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>         Environment: Linux, JDK 1.6
>            Reporter: Kasun Weranga Gunathilake
>            Assignee: Isuru Eranga Suriarachchi
>         Attachments: jaxwshand.jar, patch.txt
>
>
> When I used @HandlerChain in jaxws with handler class define in the 
> handlerchain.xml, It throws an exception by saying handler class can't find. 
> AFAIU the issue comes because of classloader doesn't add the service jar to 
> the class path.
> This is the exception.
> [ERROR] java.lang.ClassNotFoundException: HandlerResolverImpl cannot load the 
> following class Throwable Exception 
> Occured:com.javacoda.jaxws.order.InfoHandler
> org.apache.axis2.AxisFault: java.lang.ClassNotFoundException: 
> HandlerResolverImpl cannot load the following class Throwable Exception 
> Occured:com.javacoda.jaxws.order.InfoHandler
>       at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>       at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:242)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>       at 
> org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:296)
>       at 
> org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:281)
>       at 
> org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:187)
>       at 
> org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:82)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.xml.ws.WebServiceException: 
> java.lang.ClassNotFoundException: HandlerResolverImpl cannot load the 
> following class Throwable Exception 
> Occured:com.javacoda.jaxws.order.InfoHandler
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)
>       at 
> org.apache.axis2.jaxws.handler.HandlerResolverImpl.resolveHandlers(HandlerResolverImpl.java:359)
>       at 
> org.apache.axis2.jaxws.handler.HandlerResolverImpl.getHandlerClasses(HandlerResolverImpl.java:143)
>       at 
> org.apache.axis2.jaxws.handler.HandlerResolverImpl.getHandlerChain(HandlerResolverImpl.java:167)
>       at 
> org.apache.axis2.jaxws.server.EndpointController.handleRequest(EndpointController.java:240)
>       at 
> org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:103)
>       at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
>       ... 9 more
> Caused by: java.lang.ClassNotFoundException: HandlerResolverImpl cannot load 
> the following class Throwable Exception 
> Occured:com.javacoda.jaxws.order.InfoHandler
>       at 
> org.apache.axis2.jaxws.spi.handler.BaseHandlerResolver$1.run(BaseHandlerResolver.java:313)
>       at 
> org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132)
>       at 
> org.apache.axis2.jaxws.spi.handler.BaseHandlerResolver.forName(BaseHandlerResolver.java:300)
>       at 
> org.apache.axis2.jaxws.spi.handler.BaseHandlerResolver.loadClass(BaseHandlerResolver.java:113)
>       at 
> org.apache.axis2.jaxws.handler.HandlerResolverImpl.resolveHandlers(HandlerResolverImpl.java:356)
>       ... 14 more
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to