jax-ws and jetty (using maven)



前段时间我已经问了一些关于JAX-WS的问题:使用Maven触发wsgen &使用wsdlLocation

在一行中导入。

那是为当时的Glassfish,现在我的要求是让它为Jetty工作。我知道,我知道,但是我没有选择。

所以基本上Jetty对JAX-WS的支持要少得多。我从metro 1.5中包含了webservices-api.jar和webservices-rt.jar(我使用JDK6u30)。 从我的示例webservice中,我构建了一个简单的war文件并将其交给Jetty。在启动时,Jetty说:
War File=/usr/local/apps/web/mywebservices.war;Context=mywebservices;Work=/usr/local/apps/web/work/mywebservices
Dec 28, 2011 10:23:33 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Dec 28, 2011 10:23:35 AM com.sun.xml.ws.server.MonitorBase createRoot
INFO: Metro monitoring rootname successfully set to: com.sun.metro:pp=/,type=WSEndpoint,name=/mywebservices-MyServicesWsV2Service-MyServicesWsV2Port
Dec 28, 2011 10:23:35 AM com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>
INFO: WSSERVLET14: JAX-WS servlet initializing

我使用maven生成war文件。非常简单的pom.xml,基本上只包含依赖项,没有插件(除了在1.6中编译的maven-compiler-plugin)

使用Glassfish,你可以直接得到类似的东西http://localhost: 9090/mywebservices/MyServicesWsV2Service ? wsdl可用。我的第一个问题(因为我确信会有后续)是:Jetty是否有机会像Glassfish一样为我提供wsdl ?如果没有,我如何创建它并在我与maven的战争中发布它?

谢谢!

PS:参见http://epesh.blog-city.com/jaxws_in_glassfish__way_to_go.htm

Jetty并没有假装包含web服务支持。只需添加Apache CXF即可获得完整的JAX-WS/JAX-B解决方案,包括您习惯的所有内容。

最新更新