我正在给JAX-WS一个高概述,并注意到对sun-jaxws.xml
的一些引用(以及com.sun.xml.ws.transport.http.servlet.WSServletContextListener
和com.sun.xml.ws.transport.http.servlet.WSServlet
)。
在什么情况下需要这个? (我认为JSR 109服务器?!)
答案 0 :(得分:37)
sun-jaxws.xml
是使用SUN的参考实现将Web服务部署为非Java EE5 servlet容器上的标准WAR
存档时所需的专有部署描述符。
Sun的RI使用WSServletContextListener
作为servlet上下文事件的监听器,使用WSServlet
作为调度程序servlet;两者都必须在web.xml
中声明。然后,sun-jaxws.xml
文件需要为WSServlet
定义Web服务端点,以便知道必须为哪个端点分派服务请求。
通过这种方式,Web服务可以在任何支持JAX-WS
RI的servlet容器中运行,尽管它们不可移植。
符合Java EE 5+的应用程序服务器(如Glassfish, the reference implementation,)符合JSR 109(Web services 1.2/1.3
)和JSR 224(JAX-WS 2.0/2.1/2.2
),不需要非标准sun-jaxws.xml
部署描述符。
请参阅此处了解更多信息:
http://jax-ws.java.net/nonav/2.2.1/docs/UsersGuide.html#1.0_Introduction
http://www.ibm.com/developerworks/java/library/j-jws9/index.html