Hee*_*ena 8 xml iphone rest soap asihttprequest
这是一个非常常见的问题,一次又一次地问堆栈溢出,我读了很多这方面的答案,但我仍然有点困惑.
我需要从iPhone sdk调用webservices.
这是我的问题:
我不清楚SOAP或REST返回什么响应.有什么特定的,如果响应是XML那么我们应该使用REST,如果JSON我们应该使用SOAP?
ASIHTTP与SOAP和REST的作用是什么?
如果我得到XML响应
Run Code Online (Sandbox Code Playgroud)<oproduct> <iid>113133791</iid> <icategoryid>270</icategoryid> <imerchantid>1547</imerchantid> <iadult>0</iadult> <sname>The Ashes / 1st Test - England v Australia - Day 1</sname> <sawdeeplink>http://www.acbcd.com/pclick.php?p=113133791&a=111402&m=1547&platform=cs</sawdeeplink> <sawthumburl>http://images.abcdd.com/thumb/1547/113133791.jpg</sawthumburl> <fprice>69.99</fprice> </oproduct>
我需要手工解析吗?或者我如何处理XML响应?
我收到了很多关于REST和SOAP的文章,但没有适当的代码来理解它.对于这些问题的任何帮助,我将不胜感激.
Nak*_*ran 78
SOAP - "简单对象访问协议"
SOAP是一种通过Internet传输消息或少量信息的方法.SOAP消息以XML格式化,通常使用HTTP(超文本传输协议)发送.
因此SOAP具有标准消息必须如何发送的标准.
可以使用WSDL(Web服务定义语言)定义每个soap Web服务,WSDL是一种用于传输的SOAP XML的模式.
有许多工具可用于将WSDL(您的Web服务定义)转换为本机代码.
ObjC可用的工具之一是Sudz-C(http://sudzc.com/),它将任何Web服务的WDSL转换为ObjC代码以访问Web服务.
休息 - 代表性的国家转移
Rest是在客户端和服务器之间发送和接收数据的简单方法,它没有定义任何标准,您可以以JSON,XML甚至Text发送和接收数据.它的轻量级与SOAP相比.
要在iOS中处理Rest,有许多可用的工具,我建议使用RestKit http://restkit.org/来处理XML和JSON.
我建议你使用Rest进行移动开发,因为它重量轻 
(简单的例子,人们纠正我,如果我错了)
好的,所以你在这里有几个不同的问题:
REST是一种访问 Web服务的方式.SOAP是访问Web服务的另一种方法.REST使用查询字符串或URL格式,而SOAP使用XML.JSON和XML是两种不同的发送数据的方式.SOAP和XML通常相互关联.对于移动应用程序,REST/JSON通常是要走的路.更易于实施和维护,更多电报等.
比尔指出,ASIHTTP是一个包装器.根据您的需要,还有其他选择可以做类似的事情.如果您正在使用REST/JSON,那么NSURLConnection+ SBJSON可能会做到这一点,我个人喜欢它.
如果您的SOAP服务具有可用的WSDL,则可以使用wsdl2objc自动构建用于解析和提取的代码.如果它是JSON服务或者没有可用的WSDL,我建议使用SBJSON并简单地按以下方式解析:
for(repsonse中的id jsonElement){self.propertyA = [jsonElement valueForKey:@"keyA"]; self.propertyB = [jsonElement valueForKey:@"keyB"]; }
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
19033 次 |
| 最近记录: |