2013-11-27 12 views
1

我通过在eclipse juno中使用Axis 2自下而上的方法创建了两个数字Web服务的简单添加.Web服务正常工作并通过soa客户端mozilla扩展进行了正确测试,但出现错误tomcat.Please经过下面的错误在创建Web服务的tomcat中的错误

他计算器服务,这是无效的,造成

java.lang.NoClassDefFoundError: javax/ws/rs/Produces 
    at org.apache.axis2.jaxrs.JAXRSUtils.getClassModel(JAXRSUtils.java:53) 
    at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:272) 
    at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:468) 
    at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:388) 
    at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101) 
    at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178) 
    at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82) 
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) 
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813) 
    at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) 
    at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) 
    at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) 
    at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:142) 
    at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283) 
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95) 
    at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) 
    at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) 
    at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.Produces 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 
    ... 30 more 

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError: javax/ws/rs/Produces 
[INFO] Deploying Web service: version.aar - file:/M:/mahesh/work/javaws1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Calc/WEB-INF/services/version.aar 
[WARN] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file! 
+0

计算器服务无效,也无法格式化,请尝试改进它 –

+0

对不起,我的格式化。我会尽力改进它。请帮助我。 – Mahesh

+0

为什么我的计算器服务正常工作并且客户端也收到了正确的结果,因此出现以下错误。 计算器服务无效,导致java.lang.NoClassDefFoundError:javax/ws/rs/Produces – Mahesh

回答

2

Tomcat的只是一个servlet容器和AFAIK,它默认情况下不支持任何类型的web服务的。

您必须在WEB-INF/lib中包含所需的库,或者将其添加到tomcat lib文件夹并使用它。

您正在获取ClassNotFoundException,因为在类路径中找不到javax/ws/rs/Produces。

将REST实施(例如:Jersey)部署到服务器库并重新启动服务器。

+0

我没有使用rest api。对于使用Axis2的Web服务。 – Mahesh

+0

无论Web服务实现如何,如果您使用的不是基本servlet和jsp以外的任何技术,则必须将该库提供给tomcat。这在错误消息中清楚地反映为错误是ClassNotFoundException。 –

+0

我也一样,因为我正在使用SOAP ws,所以我们为什么要面对这个错误。有人吗? –