我将在我的 Mac 项目中使用 gSOAP 与 WCF Web 服务进行交互。它几乎完全符合我的需要并且做得很好(与 WSMakeStubs 完全相反;))。唯一的缺点是它只是 C/C++,这意味着我要么需要将我的所有类型即时转换为 C 类型,要么编写一个完整的包装解决方案来为我做这件事。
我宁愿不在这里重新发明轮子,而且我显然不是唯一 一个想要这样做的人,但到目前为止,我还没有找到任何人实际上已经发布了任何代码。
有没有人知道任何可用的代码可以让我不必自己编写整个事情?
(它不能完全回答您的问题,但是)我使用了Cocoa SOAP Client(开源)中使用的技术来连接到服务器并发送/接收 SOAP 请求。它工作得非常好,除非您使用自签名 SSL 证书连接到服务器。
(这基本上将 XML 结构转换为本地 Cocoa 结构,并在发送时以另一种方式返回)。
我们在工作中使用 gSOAP,它可以完成这项工作,但会生成大量代码,并限制您以特定方式处理数据。
我正在开发一个包装器生成器(或者可能对 gSOAP 本身进行修改以回馈);我还没有完成,也不会有一段时间。
注意:我是你联系到的人之一。
我会说当前的答案是“否”。
我最终为我的 Web 服务手动创建了一个 Objective-C 包装器(包括 NSArray 的类别方法,用于将 X 的 NSArray 转换为 X 的肥皂数组,反之亦然,等等),因为它是一次性的,我做到了不要指望它会特别频繁地改变。我对此很满意,但是每当更改签名或添加方法时,我确实需要手动修改它。