我在公共论坛上阅读了很多关于在不同的服务器容器上部署JAX-WS的帖子 我有以下问题/疑问。
以下是我的理解:
1)sun-jaxws.xml
只需要Sun的RI(地铁项目),因为com.sun.xml.ws.transport.http.servlet.WSServletContextListener
课程需要它。
(查看此类的源代码,它从硬编码位置读取此文件)。
2)如果servlet容器不是Java EE 5 compliant.
3)Jboss , GlassFish
等不同的应用服务器可以使用自己的JAX-WS实现(如Apache CXF,Metro
)
所以我的问题是:
1)如果我在JBoss或GlassFish等Java EE 5容器上使用Sun的RI(metro),我还需要使用sun-jaxs.xml
吗?
2)如果我在像Jboss这样的Java EE 5容器上开发JAX-WS Web服务,它是否可以移植到另一个像GlassFish这样的Java EE 5容器。我的意思是我可以将战争部署在另一个容器上吗?
请帮我理清上面的查询,因为我对Sun的RI和sun-jaxws.xml
描述符用法感到困惑。
答案 0 :(得分:1)
应用程序服务器拥有自己的Web服务客户端框架。你可以认为这些就像jaxws。将应用程序部署到应用服务器默认选项应用服务器时,请使用自己的框架进行Web服务调用。因此,如果服务器需要像sun-jaxws.xml这样的配置文件,则必须将其放在相关目录中。但我认为你不需要它。
第二个选项是配置应用服务器以使用第三方jax-ws库。这是一个额外的选择。例如我在WAS中制作的。因此,当您选择此选项时,必须使用sun-jaxws.xml
希望我的回答清楚明确:)