我只需要一个SOAP客户端来进行远程调用,但我有点像Groovy菜鸟。根据{{3}},不推荐使用标准的Groovy SOAP库。相反,文档会指向较新的库:Groovy documentation。
不幸的是,GroovyWS发出警告称该项目处于休眠状态,然后指向GroovyWS。
Groovy WSLite实际上似乎仍在积极开发中,但与之前的2个库相比,并不是非常“Groovy-ish”。 每个人都在使用wslite吗?
答案 0 :(得分:12)
我认为您会发现GroovyWS和groovy-wslite(以及HTTP Builder)作为项目中的Groovy SOAP客户端库使用,而且决定可能是其中一个工作的哪个一个人拥有用户首选的API /方法(按此顺序)。
如果您喜欢它提供的API以及代理WSDL文档并查看它是否适用于您需要与之交互的服务,我的建议是尝试GroovyWS。在SOAP世界中,事情没有太大变化,所以我不会过多担心它最近的更新。如果它有效,那么你就完成了,如果你遇到一些你无法轻易找到帮助的问题,那么我会尝试其他方法。
groovy-wslite(免责声明:我是作者)旨在提供轻量级(在依赖性方面)替代方案,交换WSDL解析/代理的便利性,以便更容易控制生成的肥皂调用时无需深入研究CXF等基础Java框架的内部。有些人更喜欢在这样的框架之上构建库的附加功能,而其他人可能更喜欢其他方法的简单性。
使Groovy如此出色的事情是与Java集成是多么容易。因此,正如其他人已经指出的那样,您可以很容易地与Spring WS,CXF和JAX-WS等Java Web服务客户端集成。
答案 1 :(得分:2)
我对groovyws保持清醒,这很糟糕。 环顾四周之后,我终于选择了使用Spring Web服务和契约驱动的Web服务的解决方案。
客户端使用生成soap请求XML的toXml()方法实例化命令对象。然后使用WebServiceTemplate发送ToToEndpoint。
对于服务器,我们使用spring Web服务端点。解析传入的xml是孩子的游戏,你不需要将XML编组到一个对象中,因为XmlSlurper产生的GPathResult是完全可管理的。我们的服务器运行在grails之上,因此我们利用了springws grails插件,使得端点的创建变得更加容易。
但有一点需要注意。用于grails的springws插件已过时。 Spring Web服务现在是2.x版本,我认为springws插件带有1.4.x版本。但是,没有插件就很容易使用,我认为将插件升级到更新的api并不难。
另外,如果你想做MTOM,那么springws会变得更加复杂,因为你需要深入研究消息处理。我能够使用Spring Web服务做一些非常先进的ws-security东西,但没问题。
否则我会使用cxf(很好地处理MTOM),如果你想坚持使用jax-ws等。 overhea可能更高,因为所有动态生成的代理和pojos。 此外,它不是合同驱动的,这对我们来说是一个很大的优势。
答案 2 :(得分:0)
看起来你已完成了你的作业! Groovy WS Lite似乎正在使用它。如果你想看看使用Groovy的spring-ws,那么这是我在github中创建的test suite项目。
答案 3 :(得分:0)
或者您可以改用JSON。 SOAP非常过时。上面有关groovy文档和GroovyWS的链接无处