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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content