Unable to find handlerChain's configuration file from the classpath
-------------------------------------------------------------------

                 Key: AXIS2-3248
                 URL: https://issues.apache.org/jira/browse/AXIS2-3248
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: jaxws
    Affects Versions: 1.3
         Environment: FC3, with Axis2-1.3, running with the simple server and 
also in tomcat 6.X.
I am just using simple POJO annotation, no WSDL.
            Reporter: Robert Almonte


The handler chain's configuration file cannot be loaded from the classpath.
The problem is on the EndpointDescriptionImpl.getHandlerChain: 1290 - 1291.
Since the composite property is null, the classLoader variable is being 
assigned to the the EndpointDescriptionImpl's classloader, which is a Axis2's 
lib class loader, instead of the implOrSEIClass class loader, which is part of 
the myService.aar package.

My fix was this:

 // RA20071005
                //ClassLoader classLoader = 
getServiceDescriptionImpl().isDBCMap() ?
                //        composite.getClassLoader() : 
this.getClass().getClassLoader();
                ClassLoader classLoader = 
getServiceDescriptionImpl().isDBCMap() ?
                       composite.getClassLoader() : 
implOrSEIClass.getClassLoader();

I noticed another minor problem. If the Handler class is not in the Axis2's lib 
directory, it won't find it.
Since I was testing with this simple sample, I had my Handler class packaged in 
myService.aar too.
I know that it makes more sence to have the handler class in the Axis2's lib.

thanks,
Robert

------------------------ LOG -----------------------
[DEBUG] EndpointDescriptionImpl.getHandlerChain: fileName: 
TapeHandlerConfig.xml className: null
[DEBUG] classLoader: [EMAIL PROTECTED]
[DEBUG] Attempting to load @HandlerChain configuration file: 
TapeHandlerConfig.xml relative to class: 
com.psi.tape.test.services.DataFeedService
[DEBUG] @HandlerChain.file attribute referes to a relative location: 
TapeHandlerConfig.xml
[DEBUG] Resolving @HandlerChain configuration file: TapeHandlerConfig.xml 
relative to class file: com/psi/tape/test/services/DataFeedService
[DEBUG] @HandlerChain.file resolved file path location: 
com/psi/tape/test/services/TapeHandlerConfig.xml
[DEBUG] 
getBundle(org.apache.axis2.jaxws,org.apache.axis2.jaxws.i18n,resource,null,...)
[DEBUG] loadBundle: Ignoring MissingResourceException: Can't find bundle for 
base name org.apache.axis2.jaxws.resource, locale en_US
[DEBUG] Created org.apache.axis2.jaxws.i18n.resource, linked to parent null
[DEBUG] 
getBundle(org.apache.axis2.jaxws,org.apache.axis2.jaxws.i18n,resource,null,...)
[DEBUG] org.apache.axis2.jaxws.i18n.resource::handleGetObject(handlerChainNS)
[DEBUG] Create Exception:
javax.xml.ws.WebServiceException: The @HandlerChain configuration file 
TapeHandlerConfig.xml in the class com/psi/tape/test/services/DataFeedService 
could not be loaded.
        at 
org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:172)
        at 
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:69)
        at 
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:117)
        at 
org.apache.axis2.jaxws.description.impl.DescriptionUtils.openHandlerConfigStream(DescriptionUtils.java:333)
        at 
org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.getHandlerChain(EndpointDescriptionImpl.java:1300)
        at 
org.apache.axis2.jaxws.handler.HandlerResolverImpl.resolveHandlers(HandlerResolverImpl.java:166)
        at 
org.apache.axis2.jaxws.handler.HandlerResolverImpl.getHandlerChain(HandlerResolverImpl.java:96)
        at 
org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:114)
        at 
org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:113)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
        at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
        at 
org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:256)
        at 
org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:259)
        at 
org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:166)
        at 
org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:85)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:595)
[WARN] Unable to load handlers from file: TapeHandlerConfig.xml

-- 
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