java - 在 tomcat 上部署简单的 soap web 服务时遇到问题

标签 java web-services tomcat soap

我正在尝试这个简单的例子来使用 tomcat 创建一个 soap web 服务:mykyong web site .

但我正面临下面提到的异常:

    Feb 10, 2015 9:34:31 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_75\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;\;C:\Program Files (x86)\Sony\VAIO Startup Setting Tool;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\cURL\bin;C:\Program Files\Java\jdk1.7.0_75\bin;.
Feb 10, 2015 9:34:31 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:soap1' did not find a matching property.
Feb 10, 2015 9:34:32 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Feb 10, 2015 9:34:32 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Feb 10, 2015 9:34:32 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1029 ms
Feb 10, 2015 9:34:32 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 10, 2015 9:34:32 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.14
Feb 10, 2015 9:34:33 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Feb 10, 2015 9:34:33 AM com.sun.xml.ws.transport.http.DeploymentDescriptorParser getImplementorClass
SEVERE: com.mkyong.ws.HelloWorldImpl
java.lang.ClassNotFoundException: com.mkyong.ws.HelloWorldImpl
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.getImplementorClass(DeploymentDescriptorParser.java:615)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:256)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:179)
    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:4723)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    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:745)

Feb 10, 2015 9:34:33 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener parseAdaptersAndCreateDelegate
SEVERE: WSSERVLET11: failed to parse runtime descriptor: com.sun.xml.ws.util.exception.LocatableWebServiceException: class not found in runtime descriptor: com.mkyong.ws.HelloWorldImpl
at line 5 of jndi:/localhost/soap1/WEB-INF/sun-jaxws.xml
com.sun.xml.ws.util.exception.LocatableWebServiceException: class not found in runtime descriptor: com.mkyong.ws.HelloWorldImpl
at line 5 of jndi:/localhost/soap1/WEB-INF/sun-jaxws.xml
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.getImplementorClass(DeploymentDescriptorParser.java:618)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:256)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:179)
    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:4723)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
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:745)
Caused by: java.lang.ClassNotFoundException: com.mkyong.ws.HelloWorldImpl

最佳答案

当我在 tomcat webapps 下将 Web 应用程序部署为 war 文件时,一切正常。我重新启动了tomcat,错误消失了。但我仍然有 1 个问题:“与其他 Web 应用程序不同,为什么我们不能简单地通过使用“添加和删除服务器选项”来“从 Eclipse 配置我们的 Web 应用程序”

关于java - 在 tomcat 上部署简单的 soap web 服务时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28438355/

相关文章:

java - 空白与 GenericWhitespace 冲突后

c# - 测试表单仅适用于本地机器的请求

google-chrome - 无法在 Google Chrome 中但在 IE10 中播放来自 Grails 网络应用程序的文件(音乐、照片等)

java - Axis2 1.5.1 生成的 stub 的依赖项

java - 为什么 shell 脚本不会从 Java Runtime.exec 执行,而是从命令行执行?

java - 从 HTML 替换不起作用

java - 当wsdl有多个服务时使用jaxws调用webservice

c# - 通过网络服务和 jquery 下载文件?

java - 在 Tomcat 服务器中仅显示一次 HTML 表单

linux - 在 Arch Linux 中使用 Tomcat 7 设置 Eclipse