我对 JAX-WS 进行了高度概述,并注意到一些对 sun-jaxws.xml
的引用(以及 com.sun.xml.ws.transport.http.servlet。 WSServletContextListener
和 com.sun.xml.ws.transport.http.servlet.WSServlet
)。
在什么情况下需要这样做? (我认为是 JSR 109 服务器?!)
最佳答案
sun-jaxws.xml
是一个专有部署描述符,当使用 SUN 的引用将 Web 服务作为标准 WAR
存档部署在非 Java EE5 servlet 容器上时需要执行。
Sun 的 RI 使用 WSServletContextListener
作为 servlet 上下文事件的监听器,使用 WSServlet
作为调度程序 servlet;两者都必须在 web.xml
中声明。然后需要 sun-jaxws.xml
文件来为 WSServlet
定义 Web 服务端点,让它知道必须将服务请求分派(dispatch)到哪个端点。
通过这种方式,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
关于java - sun-jaxws.xml - 什么时候需要,什么时候不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12581751/