我已经阅读了十九个关于JaxWS和wsgen的教程,但没有一个可行!与asp.net相比,Java对于初学者来说真的很复杂:在ASP.Net中,我可以在5分钟内制作WS而不是Java:我现在已经停留好几天了。
例如,我遵循了本教程http://theopentutorials.com/examples/java-ee/jax-ws/create-and-consume-web-service-using-jax-ws/
我正在使用Eclipse Luna,JDK 7和Tomcat 7,并使用wsgen生成存根和wsdl。
我创建了这个Endpoint Publisher类:
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 Application运行时,为什么会出现此错误以及如何解决此问题?
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很好。
答案 0 :(得分:0)
您是否检查了库依赖项?检查库路径中是否有jaxws-rt。基本上你的maven依赖关系看起来像这样
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.7</version>
</dependency>