Java Webservice客户端(最佳方法)


82

我有第三方WSDL,我需要用Java编写代码以使Web服务客户端调用第三方WSDL中的操作。现在,我已经使用Axis的WSDL2JAVA工具生成了客户端存根,并将XMLbeans用于数据绑定。

  1. 进行此JAVA的最佳方法是什么?
  2. 我读了有关SAAJ的文章,看起来这种方法会更细化吗?
  3. 除了使用WSDL2Java工具之外,还有其他方法可以生成代码。也许wsimport还有其他选择。优缺点都有什么?
  4. 有人可以发送有关这些主题的一些不错的教程的链接吗?
  5. 使用WSDL2Java生成代码时,我们需要使用哪些选项?

最初,我使用了一些基本的东西。现在我有这些选择

C:\axis2-1.5.1\bin>wsdl2java -uri  mywsdlurl  -o client -p somepackage -d xmlbeans -s -t -ssi

Answers:


163

进行此JAVA的最佳方法是什么?

我个人不会使用Axis 2,即使仅用于客户端开发。这就是为什么我远离它的原因:

  1. 我不喜欢它的体系结构,讨厌它的适得其反的部署模型。
  2. 我发现这是一个低质量的项目。
  3. 我不喜欢它的性能(请参阅针对JAX-WS RI的基准测试)。
  4. 设置依赖关系始终是一场噩梦(我使用Maven,而且我总是不得不与庞大的依赖关系作斗争)(请参阅#2)
  5. Axis浪费了很多时间,而Axis2却不是更好。不,这不是个人观点,有共识。
  6. 我遭受了一次,再也没有。

Axis仍然存在的唯一原因是IMO,因为它在很早以前就已在Eclipse中使用。谢谢上帝,这已在Eclipse Helios中修复,我希望Axis2最终消失。有更好的堆栈。

我读了有关SAAJ的文章,看起来这种方法会更细化吗?

做什么?

除了使用WSDL2Java工具之外,还有其他方法可以生成代码。也许在另一个选择中是wsimport。优缺点都有什么?

是! 更喜欢像CXFJAX-WS RI这样的JAX-WS堆栈(您可能还会了解Metro,Metro = JAX-WS RI + WSIT),它们更加优雅,简单,易于使用。在您的情况下,我将只使用Java 6中包含的JAX-WS RI,因此wsimport

有人可以发送有关这些主题的一些不错的教程的链接吗?

那是另一位专业人士,JAX-WS有很多(高质量)教程,请参见例如:

使用WSDL2Java生成代码时,我们需要使用哪些选项?

没有选择,使用wsimport:)

也可以看看

相关问题


4
了不起的工作,谢谢。请你也使WSIT链接到它的一些描述(例如以download.oracle.com/docs/cd/E17802_01/webservices/webservices/...
dma_k

@dma_k完成后,添加了一个到WSIT项目的链接(您发布的也是一个不错的链接,因此读者都可以)。
Pascal Thivent

1
很久以前,我还没有为您提供+1,甚至都没有关注所有链接。人还活着,那本鼻祖在鼻子上撞了!:)再次感谢您。
javamonkey79

1
对于JAX-WS +1。与Axis2失去了很多天……总的MESS(更不用说一堆依赖项了)
marcolopes 2012年

1
嘿帕斯卡,格伦·马扎(Glen Mazza)的链接现在断开了。
阿黛尔·安萨里



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.