我尝试使用“javax.xml.ws.Endpoint;”像这样发布一些WS:
Endpoint.publish("http://localhost:8080/ServiceWS", new ServiceWS());
但是,我在服务器启动时不断收到“ClassNotFoundException:com.sun.net.httpserver.HttpServer”。使用JDK1.7和JBoss 7.1.0。 AFAIk HttpServer是JavaSE的一部分,那么可能是什么问题呢?
答案 0 :(得分:1)
将JAX-WS 2.x作为Java SE的一部分包含在内的一个理由 6.0 / 7.0而不是Java EE 5/6是使用JAX-WS的Web服务交付 2.x不需要servlet或EJB容器。
在不需要商业广告功能的用例中 HTTP服务器和servlet或EJB容器,Endpoint class为软件或组件中的组件提供了便利的机制 系统在严格控制的环境中易于通信 通过网络服务。该机制的第二个用途是 原型并最终开发生产Web服务 部署在Java EE容器中。
JAX-WS Web Services Without Java EE Containers
如果已经有一个带有@WebService
注释的类,则不需要在单例bean中调用publish
方法。 JBoss在部署期间扫描应用程序以获取注释,如果没有错误,则发布Web服务。
答案 1 :(得分:-1)
已解决:我的项目设置中出现了一个小错误。通过从部署程序集中删除jaxws-rt.jar来解决此问题。