JaxWS教程不起作用:与ASP.NET相比,Java过于复杂
我已经阅读了十几篇关于JaxWS和wsgen的教程,但没有一篇是有效的!与asp.net相比,Java对于初学者来说确实更为复杂:在asp.net中,我可以在5分钟内完成WS,而不是在Java中:我已经被困了好几天了 例如,我遵循了本教程 我正在使用EclipseLuna、JDK7和Tomcat7,并使用wsgen生成存根和wsdl 我创建了这个端点发布器类: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
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应用程序在运行时没有编译,因此无法成功指向