JaxWS教程不起作用:与ASP.NET相比,Java过于复杂

JaxWS教程不起作用:与ASP.NET相比,Java过于复杂,java,eclipse,web-services,jax-ws,Java,Eclipse,Web Services,Jax Ws,我已经阅读了十几篇关于JaxWS和wsgen的教程,但没有一篇是有效的!与asp.net相比,Java对于初学者来说确实更为复杂:在asp.net中,我可以在5分钟内完成WS,而不是在Java中:我已经被困了好几天了 例如,我遵循了本教程 我正在使用EclipseLuna、JDK7和Tomcat7,并使用wsgen生成存根和wsdl 我创建了这个端点发布器类: import javax.xml.ws.Endpoint; import com.demo.JaxWS; public class H

我已经阅读了十几篇关于JaxWS和wsgen的教程,但没有一篇是有效的!与asp.net相比,Java对于初学者来说确实更为复杂:在asp.net中,我可以在5分钟内完成WS,而不是在Java中:我已经被困了好几天了

例如,我遵循了本教程

我正在使用EclipseLuna、JDK7和Tomcat7,并使用wsgen生成存根和wsdl

我创建了这个端点发布器类:

import javax.xml.ws.Endpoint;
import com.demo.JaxWS;

public class HelloEndpointPublisher {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Endpoint.publish("http://localhost:8080/EclipseJaxWSutotorial/JaxWS", new JaxWS());

    }

}
当它作为Java应用程序运行时,为什么会出现此错误以及如何修复它

Exception in thread "main" java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not be instantiated

更新:我不使用maven。我已经通过命令行使用了wsgen,它生成了所有的类,wsdl和xsd都很好。

你检查过你的库依赖关系了吗?检查库路径中是否有jaxws-rt。基本上,您可以看到maven依赖项如下所示

    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.2.7</version>
    </dependency>

com.sun.xml.ws
jaxws-rt
2.2.7

我不使用maven。我已经通过命令行使用了wsgen,它生成了所有的类,wsdl和xsd都很好。它是一个独立的web服务。您只需将
HelloEndpointPublisher
作为Java应用程序运行,然后打开浏览器并输入
http://localhost:8080/EclipseJaxWSutotorial/JaxWS?wsdl
。如果您在web容器中运行它,并且希望在Tomcat Server中运行它,那么您需要构建一个web项目并添加代码,并检查jaxws rt是否包含在应用程序的
web-INF/lib
文件夹中或
/lib
文件夹中Java应用程序在运行时没有编译,因此无法成功指向