Haskell:使用哪个SOAP客户端库?

12

我想编写一个简单的Haskell程序来连接SOAP服务。理想情况下,我想使用服务的WSDL,并尽可能直接地访问请求参数和响应数据。

我应该使用哪个库?

到目前为止,我只发现了 HAIFA,但它似乎在2006年左右停止了开发,所以我不确定是否是正确的选择。

更新2015-08-14: 现在,hackage上有一个名为 soap 的包,以及协议支持包soap-tlssoap-openssl,看起来很活跃。


正文:通常建议尽可能优先选择REST而不是SOAP。(如果您无法控制服务,则显然不可能这样做。) - Dan Burton
1
如果我正在编写服务器,或者有选择的话,我肯定更喜欢 REST + (JSON|XML)。不幸的是,我需要与第三方服务接口。 - 9000
3
很遗憾,我不知道有任何好的全面的SOAP支持Haskell。我认为当SOAP流行时,Haskell并不是一个严肃的网络语言,现在世界大多数已经转向其他技术,因此从未有强烈的动力来提供良好的SOAP支持。对于最小的SOAP,而不是完整的版本,使用Haskell非常好的XML库自己编写代码很容易。 - sclv
3
那么,世界实际上是如何运转的呢?SOAP被广泛使用。许多企业解决方案通过使用SOA并将ESB系统集成到其产品中获得了巨大的好处。 SOAP最接近的替代品是REST,但由于其缺乏服务定义(包括服务的完整描述、操作、传输和类型信息),因此对于真正大型的解决方案来说不太适用。 - Kirill Dubovikov
1个回答

7
正如@sclv所说,SOAP的全盛时期是在Haskell被严肃用于Web系统之前。因此,您选择完整的SOAP库的选项有些受限。
显然,HAIFA是当时最大的努力,但它不在Hackage上,所以你在那里基本上没有什么运气。看起来shoap也是一个尝试让一些简单的东西工作。
对于自己编写,有很多Hackage上的XML选项可供选择,

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接