My web service is built via an ant script and everything builds fine. However, when I try to view my new web service from the Axis Servlet (view), Tomcat throws the following exception:
[INFO] Registry - -Loading registry information
[INFO] Registry - -Creating new Registry instance
[INFO] Registry - -Creating MBeanServer
[INFO] Http11Protocol - -Initializing Coyote HTTP/1.1 on port 8080
Starting service Tomcat-Standalone
Apache Tomcat/4.1.12
[INFO] Http11Protocol - -Starting Coyote HTTP/1.1 on port 8080
[INFO] ChannelSocket - -JK2: ajp13 listening on tcp port 8009
[INFO] JkMain - -Jk running ID=0 time=0/50 config=C:\Tools\tomcat\conf\jk2.properties
- Problem with servlet engine config file: /WEB-INF/server-config.wsdd
- Exception:
java.lang.ClassNotFoundException: com.myorg.ws.MyWebServiceSoapBindingSkeleton
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1428)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:115)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:171)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:154)
at org.apache.axis.utils.cache.ClassCache.lookup(ClassCache.java:122)
at org.apache.axis.providers.java.JavaProvider.getServiceClass(JavaProvider.java:502)
at org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:535)
at org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:322)
at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:477)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:566)
at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:322)
at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:584)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:256)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:479)
My ant script uses the following syntax in order to create my web service:
<property name = "package" value = "com.myorg.ws" />
<property name = "service" value = "MyWebService" />
<property name = "scope" value = "Session" />
<!-- Generate the WSDL file -->
<java classname = "org.apache.axis.wsdl.Java2WSDL" classpathref = "classpath" fork = "true">
<arg line = "--output ${service}.wsdl" />
<arg line = "--location http://localhost:8080/axis/services/${service}" />
<arg line = "${package}.${service}" />
</java>
<!-- Generate stubs/skeletons, plus *.wsdd (baesd on the WSDL) -->
<java classname = "org.apache.axis.wsdl.WSDL2Java" classpathref = "classpath" fork = "true">
<arg line = "--output ${dir.src}" />
<arg line = "--deployScope ${scope}" />
<arg line = "--server-side" />
<arg line = "--skeletonDeploy true" />
<arg line = "--package ${package}.ws" />
<arg line = "${service}.wsdl" />
</java>
Any ideas why this is happening?