Thursday, April 12, 2012

SEVERE: WSSERVLET11: failed to parse runtime descriptor: class:

If you get below mentioned Exception,

SEVERE: WSSERVLET11: failed to parse runtime descriptor: class: Bounceable could not be found
com.sun.xml.ws.model.RuntimeModelerException: class: Bounceable could not be found
                at com.sun.xml.ws.model.RuntimeModeler.getPortTypeName(RuntimeModeler.java:1574)
                at com.sun.xml.ws.model.RuntimeModeler.getPortTypeName(RuntimeModeler.java:1558)
                at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:225)
                at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
                at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
                at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
                at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
                at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
                at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
                at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152)
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)
                at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)
                at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                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)
Apr 9, 2012 6:06:04 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: class: Bounceable could not be found
                at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:141)
                at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152)
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4681)
                at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5184)
                at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5179)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                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: com.sun.xml.ws.model.RuntimeModelerException: class: Bounceable could not be found
                at com.sun.xml.ws.model.RuntimeModeler.getPortTypeName(RuntimeModeler.java:1574)
                at com.sun.xml.ws.model.RuntimeModeler.getPortTypeName(RuntimeModeler.java:1558)
                at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:225)
                at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:145)
                at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
                at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
                at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:261)
                at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:153)
                at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
                ... 9 more


Possible reason could be WSServlet is not able to locate endpoint class mentioned in sun-jaxws.xml.

sun-jaxws.xml (defines web service implementation class)
${Tomcat}/webapps/SimpleWebservice/WEB-INF/sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints
  xmlns="
http://java.sun.com/xml/ns/jax-ws/ri/runtime"
  version="2.0">
  <endpoint
      name="HelloWS"
      implementation="com.javaxp.HelloWSImpl"
      url-pattern="/hellows"/>
</endpoints>


Please see the below link.

How to Publish, Consume a simple web service using Tomcat?