当前位置:  开发笔记 > IOS > 正文

如何从iPhone访问SOAP服务

如何解决《如何从iPhone访问SOAP服务》经验,为你挑选了2个好方法。

我打算为iPhone开发一个应用程序,该应用程序必须访问几个SOAP服务.在iPhone SDK中进行一些基本检查时,我无法找到任何访问SOAP服务的支持,一点谷歌搜索得出的结论是iPhone SDK中不支持SOAP.

因此,如果我想构建该应用程序,我需要提出一种从iPhone访问SOAP服务的方法.什么是最好的方法?任何最佳做法?有人已经使用iPhone SDK中存在的功能来编写库以访问SOAP服务吗?

(由于我需要访问的服务是由另一方公开的,并且它们只将它公开为SOAP,遗憾的是不能选择切换到另一种类型的接口(例如基于REST的API).

格罗



1> schwa..:

一句话:不要.

好吧,显然这不是一个真正的答案.但是仍然应该不惜一切代价避免使用SOAP.;-)是否可以在iPhone和Web服务之间添加代理服务器?也许将REST转换为SOAP的东西?

可以尝试CSOAP,这是一个依赖于libxml2(包含在iPhone SDK中)的SOAP库.

我为OSX 编写了自己的SOAP框架.但是它没有被主动维护,并且需要一些时间来移植到iPhone(你需要用TouchXML替换NSXML 才能开始)


这是技术等同于"不要使用它,因为默认情况下不提供它" - 没有真正的技术原因可以解释为什么不应该使用SOAP或服务提供的任何其他机制.
你能否详细阐述这句话"但仍应不惜一切代价避免使用SOAP"
@schwa - 在绝对没有支持证据或辩护的情况下发布了一个可能有用的答案.
只是因为肥皂不一定合适并不意味着它在实施中不正确,有些需求超出最佳实践范围而不是
这里至少是一个答案 - 与REST相比,SOAP是一种非常高开销的协议.所有命名空间和有效性检查等都会为您的消息添加大量额外字符,这正是您希望避免在高延迟,可能很慢的网络(如3G)上避免的.如果您可以保证您的应用程序仅用于具有良好信号的4g环境中,或仅在Wifi中使用,则可能更加合适.但总的来说,移动网络越少越好.
有时你根本无法避免使用SOAP.例如,您正在构建iOS或Android客户端,连接到SOAP Web服务,如果您无法控制该服务,则必须提供SOAP实现.
Upvoted是因为它绝对正确.与其他可用方法相比,使用SOAP的好处超过了复杂性,开销等方面的成本.
是的,也想要解释.如果您只是说"不要",我想知道您是否基于您对iPhone/SOAP问题了解的具体内容.在另一方面,如果它只是正常,避免SOAP一般的原因,我可以谷歌"SOAP VS REST",并获得一个流水一口.
Upvoted,不要使用SOAP.请相信我们.
请丢弃SOAP:http://thecoffman.com/2011/01/25/please-drop-the-soap/

2> davidjhinson..:

我的解决方案是让代理服务器接受REST,发出SOAP请求,并使用PHP返回结果.

实施时间:15-30分钟.

不是最优雅,但坚实.


你是怎么做到的?任何文件.TNX
我喜欢神秘的非答案.这是怎么被投票的?
推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有