我正在尝试从java调用web服务。我使用JBoss作为客户端应用服务器。Web服务器是用jax-ws编写的,运行在其他服务器上(我不知道)。
我的需求是从运行在JBoss中的应用程序调用web服务。经过充分的搜索,我发现jax-ws是一个标准,现在包含在jdk中。Metro是jax-ws的参考实现,并在Glassfish App服务器中提供。
我的问题是:
市场上还有其他的jax-ws实现吗?
就像每个容器都提供自己的Servlet API实现一样,它们都提供了Jax-ws的实现吗?
我是否需要将Metro api复制到我的Jboss应用程序?
JBossWS在这里有什么用武之地?
Web Service主机提供的示例代码指定,客户端需要向SOAPHeader添加身份验证令牌,并且在示例代码中,它们使用了com.sun.xml.ws包。
当我使用MessageFactory创建新的SOAPMessage时,它会使用Metro RI还是JbossWS?
如果Metro是glassfish的Jax-ws实现,那么它会在其他应用服务器上运行吗?
除此之外,我的应用程序还公开了另一个Web服务(尽管它使用的是Axis1)。
关于这一点我有点困惑。
谁能帮助我一些关于jax-ws,地铁,JbossWS的细节。他们每个人都站在什么位置。
发布于 2013-02-11 03:12:26
JBossWS是implementation提供的Web服务堆栈,是的,它也是JBoss -WS标准的实现。据我所知,JBossWS是基于Apache CXF的。Glassfish使用JAX-WS的另一个实现Metro。
为了与远程WebService通信(实现并不重要,只要它使用标准),您可以简单地使用JAX-WS和任何为其提供实现的Application Server。JAX-WS支持JBoss,所以您只需按照JAX-WS编写客户机(并且它应该同时在JBoss和Glassfish或任何其他JAX-WS兼容容器上运行)。
关于身份验证,您应该提供一些更多的信息,因为这里的标准中有很多选项。
https://stackoverflow.com/questions/13057216
复制相似问题