简体   繁体   English

在jboss中使用jax-ws

[英]using jax-ws in jboss

I am trying to call a web service from java. 我试图从java调用Web服务。 I am using JBoss as the client application server. 我使用JBoss作为客户端应用程序服务器。 The Web server is written in jax-ws and is running in some other server (which i dont know). Web服务器是用jax-ws编写的,并且正在其他服务器上运行(我不知道)。

My requirement is to call the web service from my application running in JBoss. 我的要求是从我在JBoss中运行的应用程序调用Web服务。 After doing enough search, I found that, jax-ws is a Standard and now included in jdk. 经过足够的搜索后,我发现,jax-ws是标准版,现在包含在jdk中。 Metro is a reference implementation of jax-ws and is provided in the Glassfish App server. Metro是jax-ws的参考实现,在Glassfish App服务器中提供。

My Question is: - 我的问题是: -
Is there any other jax-ws implementation present in the market? 市场上是否还有其他jax-ws实施?
Just like each container provides its own implementation of Servlet API, do all of them provide implementation of Jax-ws? 就像每个容器提供自己的Servlet API实现一样,是否所有这些都提供了Jax-ws的实现?
Do I need to copy the Metro api to my Jboss application? 我是否需要将Metro api复制到我的Jboss应用程序中?
Where does JBossWS comes into play here? JBossWS在哪里发挥作用?
A sample code provided by the Web Service host specifies that, the client needs to have to add a authentication token to the SOAPHeader, and in the sample code they have used com.sun.xml.ws package. Web Service主机提供的示例代码指定客户端需要向SOAPHeader添加身份验证令牌,并在示例代码中使用com.sun.xml.ws包。
When I used MessageFactory to create a new SOAPMessage, will it use the Metro RI or JbossWS? 当我使用MessageFactory创建新的SOAPMessage时,它会使用Metro RI还是JbossWS?
If Metro is glassfish's implementation of Jax-ws, then will it run in other app servers? 如果Metro是glassfish实现的Jax-ws,它会在其他应用服务器上运行吗?

Added to that, my application exposes another Web service also (although it uses Axis 1). 除此之外,我的应用程序也公开了另一个Web服务(尽管它使用Axis 1)。

I am getting a bit confused regarding this. 我对此感到有些困惑。

Can someone help me with some details regarding jax-ws, Metro, JbossWS. 有人可以帮我提供有关jax-ws,Metro,JbossWS的一些细节。 And where do each of them stand. 他们每个人站在哪里。

JBossWS is the Web-Service stack provided by the JBoss Application Server, and yes, it is also an implementation of the JAX-WS standard. JBossWS是JBoss Application Server提供的Web服务堆栈,是的,它也是JAX-WS标准的实现。 As far as I know, JBossWS is based on Apache CXF. 据我所知,JBossWS基于Apache CXF。 Glassfish uses another implemetation of JAX-WS, Metro. Glassfish使用另一种JAX-WS,Metro实现。

In order to communicate with a remote WebService (the implementation is not important, as long as it uses standards), you can simply use JAX-WS api and any Application Server which provides an implementation for it. 为了与远程WebService进行通信(实现并不重要,只要它使用标准),您可以简单地使用JAX-WS api和为其提供实现的任何Application Server。 JBoss does, so you have just to write your client following the JAX-WS api (and it should run on both JBoss and Glassfish or any other JAX-WS compliant container). JBoss可以,所以你只需要按照JAX-WS api编写你的客户端(它应该在JBoss和Glassfish或任何其他符合JAX-WS的容器上运行)。

About the authentication, you should provide some more information, since there are a lot of options in the standards here. 关于身份验证,您应该提供更多信息,因为这里的标准中有很多选项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM