使用Android应用程序调用Web服务的最佳替代方法是什么

时间:2011-08-03 14:31:50

标签: android web-services

我们可以通过创建HttpURLConnection和POST请求在Android应用程序中进行Webservice调用。 类似以下内容

    httpURLConnection.setRequestMethod("POST");
    httpURLConnection.setRequestProperty("Connection", "keep-alive");
    httpURLConnection.setRequestProperty("Content-Type", "text/xml");
    httpURLConnection.setRequestProperty("SendChunked", "True");
    ....
    httpURLConnection.connect();
    OutputStream out = httpURLConnection.getOutputStream();
    out.write("request data in soap format");// send request
    InputStream response = httpURLConnection.getInputStream(); //receive response

在这里,我必须像xml一样创建SOAP来发送数据并以该格式接收数据。有没有更好的方法来调用webservice?

使用Android应用程序调用Web服务的最佳替代方法

1 个答案:

答案 0 :(得分:1)

您对Web服务使用SOAP或REST方法。  请参阅

中的程序

REST and SOAP webservice in android

* SOAP *

优点:

  • Langauge,平台和交通不可知
  • 旨在处理分布式计算环境
  • 是Web服务的主流标准,因此得到了其他标准(WSDL,WS- *)和供应商工具的更好支持
  • 内置错误处理(故障)
  • 扩展

缺点:

  • 概念上比REST更难,更“重”
  • 更详细
  • 更难开发,需要工具

* REST *

优点:

  • 语言和平台无关
  • 比SOAP
  • 更容易开发
  • 学习曲线小,对工具的依赖性较小
  • 简洁,无需额外的消息传递层
  • 更贴近网络的设计和理念

缺点:

  • 假设点对点通信模型 - 不适用于消息可能通过一个或多个中介的分布式计算环境
  • 缺乏对安全性,策略,可靠消息传递等的标准支持,因此具有更复杂要求的服务更难开发(“自己动手”)
  • 绑定到HTTP传输模型
相关问题