JAX-WS handler chain XML files fail to be located in EAP 6

Solution Unverified - Updated -

Issue

  • We have a web service which is running on EAP 5. The JAX-WS handler chain configuration was set up as follows:
@WebService(serviceName = "MyService", endpointInterface = "com.sample.ws.MyService")
@SOAPBinding(...)
@HandlerChain(file = "META-INF/handler-chain.xml")
public class MyServiceImpl implements MyService {
...
  • The handler-chain.xml file is located in the WEB-INF/classes/META-INF directory of the war package containing the above code.
  • When I try to migrate the web service onto EAP 6, I get the following error message that considers META-INF location to be relative to the location of the annotated class, and fail to deploy it.
14:22:53,783 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."xxxxx.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."xxxxx.war".PARSE: JBAS018733: Failed to process phase PARSE of deployment "xxxxx.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
Caused by: javax.xml.ws.WebServiceException: JBAS015507: Handler chain config file com/sample/ws/META-INF/handler-chain.xml not found in ResourceRoot [root="/content/xxxxx.war/WEB-INF/classes"]
    at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.getInputStream(WSHandlerChainAnnotationProcessor.java:158)
    at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.processHandlerChainAnnotation(WSHandlerChainAnnotationProcessor.java:130)
    at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.processHandlerChainAnnotations(WSHandlerChainAnnotationProcessor.java:116)
    at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.deploy(WSHandlerChainAnnotationProcessor.java:93)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
    ... 5 more

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 6.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.