前段时间我已经问了一些关于JAX-WS的东西: Use Maven to trigger a wsgen & wsimport in a row, using wsdlLocation
当时的Glassfish就是这样,现在我的要求是为Jetty工作。我知道,我知道,但我没有选择。
所以基本上Jetty对JAX-WS的支持要少得多。我从metro 1.5中包含了webservices-api.jar和webservices-rt.jar(我使用的是JDK6u30)。
从我的示例Web服务中,我构建了一个简单的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你可以直接得到类似的东西 {{3个可用。 我的第一个问题(因为我确信会有一个后续行动)是:Jetty可以为我提供像Glassfish这样的wsdl吗?如果没有,我怎样才能创建它并在我与maven的战争中运送它?
谢谢!
PS:另见http://localhost:9090/mywebservices/MyServicesWsV2Service?wsdl