我正在尝试从我的iphone应用程序生成一个Web服务调用。
我第一次使用网络服务。
我意识到SOAP请求会是这样的:
我的实际网络服务不在本地。
POST /MyFirstWebService.asmx HTTP / 1.1
主持人:localhost
Content-Type:text / xml; charset = utf-8
内容长度:长度
SOAPAction:“http://tempuri.org/HelloWorld”
<?xml version =“1.0”encoding =“utf-8”?>
< soap:Envelope 的xmlns:的xsi =“http://www.w3.org/2001/XMLSchema-instance>
的xmlns:XSD = “http://www.w3.org/2001/XMLSchema”
的xmlns:SOAP = “http://schemas.xmlsoap.org
/肥皂/信封/” >
<肥皂:车身>
< HelloWorld xmlns =“http://tempuri.org/”/>
< / soap:Body>
< / soap:Envelope>
我希望从Web服务返回字符串hello world。
这样做的最佳方式是什么?
我还读过一个名为JSON的框架。
这可以在这里有用吗?
答案 0 :(得分:2)
此链接提供了如何在iphone中使用Web服务的简单说明,它还解释了简单的帖子简单Get和SOAP
Consuming Web Services in iPhone Applications
肥皂与REST的区别
SOAP和RESTful Web服务的理念彼此截然不同。 SOAP实际上是基于XML的分布式计算的协议,而REST更贴近基于Web的裸机设计。 SOAP本身并不复杂;然而,当它与众多扩展一起使用时会变得复杂(通过关联有罪)。
总结他们的优点和缺点:
* SOAP *
优点:
Langauge,平台和传输不可知 旨在处理分布式计算环境 是Web服务的主流标准,因此可以从其他标准(WSDL,WS- *)和供应商的工具获得更好的支持 内置错误处理(故障) 扩展
缺点:
概念上比REST更难,更“重量级” 更冗长 更难开发,需要工具
* REST *
优点:
语言和平台无关 开发比SOAP更简单 学习曲线小,对工具的依赖性较小 简洁,无需额外的消息传递层 更贴近网络的设计和理念
缺点:
假设点对点通信模型 - 不适用于消息可能通过一个或多个中介的分布式计算环境 缺乏对安全性,策略,可靠消息传递等的标准支持,因此具有更复杂要求的服务更难开发(“自己动手”) 绑定到HTTP传输模型