groovy中使用的标准SOAP库是什么?

groovy中使用的标准SOAP库是什么?,soap,groovy,groovyws,Soap,Groovy,Groovyws,我只需要一个SOAP客户机来进行远程调用,但我有点像Groovy noob。根据,标准GroovySOAP库已被弃用。相反,文档会指向一个较新的库: 不幸的是,GroovyWS有一个警告说项目处于休眠状态,然后它会指向您 Groovy WSLite实际上似乎仍在积极开发中,但与前两个库相比,它不是很“Groovy-ish”wslite是每个人都在使用的吗?我会远离groovyws,它太差劲了。 环顾四周之后,我最终选择了使用SpringWeb服务和契约驱动web服务的解决方案 客户机使用生成so

我只需要一个SOAP客户机来进行远程调用,但我有点像Groovy noob。根据,标准GroovySOAP库已被弃用。相反,文档会指向一个较新的库:

不幸的是,GroovyWS有一个警告说项目处于休眠状态,然后它会指向您


Groovy WSLite实际上似乎仍在积极开发中,但与前两个库相比,它不是很“Groovy-ish”wslite是每个人都在使用的吗?

我会远离groovyws,它太差劲了。 环顾四周之后,我最终选择了使用SpringWeb服务和契约驱动web服务的解决方案

客户机使用生成soap请求XML的toXml()方法实例化命令对象。然后使用WebServiceTemplate发送到端点

对于服务器,我们使用SpringWeb服务端点。解析传入的xml是儿戏,您不需要将xml封送到对象中,因为XmlSlurper产生的GPathResult是完全可管理的。我们的服务器运行在grails之上,因此我们利用了springws-grails插件,使得端点的创建更加容易

不过有一个警告。grails的springws插件已经过时。SpringWebServices现在是2.x版,我认为springws插件是1.4.x版。但是,没有插件就很容易使用,我认为将插件升级到更新的api并不难

此外,如果您想执行MTOM,springws会变得更复杂一些,因为您需要深入研究消息处理。我能够用SpringWeb服务做一些非常高级的ws-security工作,但是没有问题

否则,如果您想继续使用jax-ws等,我将使用cxf(很好地处理MTOM)。 开销可能更高,因为所有动态生成的代理和POJO。 而且,它不是合同驱动的,这对我们来说是一个很大的好处


看来你自己已经完成了作业!Groovy WS-Lite目前似乎正在运行。如果您想看到SpringWS使用Groovy运行,那么下面是我在github中创建的一个项目。

我想您会发现和(和)都被用作项目中的GroovySOAP客户端库,决策可能是哪一个有效,哪一个具有用户喜欢的API/方法(按顺序)

我的建议是,如果您喜欢它提供的API及其代理WSDL文档的能力,请尝试一下,看看它是否适用于需要与之交互的服务。在SOAP世界中,事情并没有太大的变化,所以我不会太担心它最近的更新情况。如果它有效,那么你就完成了,如果你遇到一些问题,你不能很快找到帮助,那么我会尝试其他的选择

(免责声明:我是作者)旨在提供一种轻量级(就依赖性而言)替代方案,该替代方案既可以利用WSDL解析/代理的便利性,又可以更容易地控制生成的soap调用,而无需深入挖掘某些底层Java框架(如CXF)的内部。有些人更喜欢在这样的框架之上构建库的附加功能,而其他人可能更喜欢其他方法的简单性


Groovy之所以如此伟大,是因为与Java集成是多么容易。因此,正如其他人已经指出的,您可以非常轻松地与Spring WS、CXF和JAX-WS等Java web服务客户端集成。

或者您可以使用JSON。肥皂已经过时了。上面有关groovy文档和Groovyw的链接毫无用处

我对产生这个问题的项目的要求发生了变化,因此我没有尝试@john wagenleitner建议的库,但他的回答似乎是对我问题的最完整的回答。谢谢大家的回答!FWIW,4年后,从SOAP迁移出去,我会给groovy wslite一个机会,为剩余的web服务客户端。在构建服务器端点时,我必须再次研究该领域。请把我的回答放在2012年的背景下。