我在公共论坛上读到了很多关于在不同的servet容器上部署JAX-WS的帖子,基于此我有以下问题/查询。
以下是我的理解:
1)由于com.sun.xml.ws.transport.http.servlet.WSServletContextListener类需要sun-jaxws.xml,所以只有Sun的RI (metro项目)需要它。(查看这个类的源代码,它从硬编码位置读取这个文件)。
2)如果servlet容器不是Java EE 5 compliant.,也是必需的
3)不同的应用服务器(比如Jboss , GlassFish )可以使用它们自己的JAX-WS实现(比如Apache CXF,Metro)
所以我的问题是:
1)如果我在JBoss或GlassFish等JavaEE5容器上使用Sun (metro),我还需要使用sun-jaxs.xml吗?
2)如果我在Jboss之类的JavaEE5容器上开发JAX- web服务,它是否可以移植到另一个JavaEE5容器上,比如GlassFish。我的意思是,我可以像在另一个容器上一样部署war吗?
请帮我整理一下上面的问题,因为我对Sun和sun-jaxws.xml描述符的用法感到非常困惑。
发布于 2015-04-08 18:37:39
应用服务器拥有自己的web服务客户端框架。您可以认为这些就像是jaxws。当您将应用程序部署到应用程序服务器时,默认选项应用程序服务器使用自己的框架进行web服务调用。因此,如果服务器需要类似sun-jaxws.xml的配置文件,则必须将其放入相关目录。但我认为你不需要它。
第二个选项是配置应用服务器以使用您的第三部分jax-ws库。这是一个额外的选择。例如,我在WAS中创建的。因此,当您选择此选项时,必须使用sun-jaxws.xml
希望我的回答已经很清楚了:)
https://stackoverflow.com/questions/29446980
复制相似问题