用于与android通信的ksoap2和retrofit2之间的差异

时间:2017-11-30 05:32:40

标签: android soap retrofit2 ksoap2

我想使用android应用程序从webservice传递和获取数据,我有该Web服务的wsdl。那么我可以使用哪一个更好的数据操作ksoap2retrofit 2。如果我使用其中一个还需要什么。

3 个答案:

答案 0 :(得分:0)

这取决于您的服务所在的体系结构。 Retrofit用于休息服务,其中ksoap用于肥皂服务。

REST与SOAP SOAP和RESTful Web服务之间存在显着差异。下面的子弹根据个人经验打破了每个Web服务的功能。

<强> REST

RESTful Web服务是无状态的。您可以通过重新启动服务器并检查交互是否存在来测试此情况。 对于大多数服务器,RESTful Web服务通过HTTP GET方法提供了良好的缓存基础结构。如果服务返回的信息不经常更改且不是动态的,则这可以改善性能。 服务生产者和消费者必须了解传递的上下文和内容,因为没有标准的规则集来描述REST Web服务接口。 REST对于受限制的配置文件设备很有用,例如移动设备,其附加参数的开销较小(例如,标题)。 REST服务很容易与现有网站集成,并且使用XML公开,因此HTML页面可以轻松地使用它们。几乎没有必要重构现有的站点架构。因此,开发人员的工作效率更高,因为他们不需要从头开始重写所有内容。相反,他们只需要添加现有功能。 与SOAP相比,基于REST的实现很简单。

<强> SOAP

Web服务描述语言(WSDL)描述了一组用于定义服务的消息,绑定,操作和位置的通用规则。 WSDL类似于定义服务提供的接口的契约。 SOAP比REST服务设计需要更少的管道代码(例如,事务,安全性,协调,寻址和信任)。大多数真实世界的应用程序并不简单,并且支持复杂的操作,这需要维护会话状态和上下文信息。使用SOAP方法,开发人员不需要将管道代码编写到应用程序层中。 SOAP Web服务(如JAX-WS)对异步处理和调用很有用。 SOAP支持多种协议和技术,包括WSDL,XSD和WS-Addressing。 通过数据库存储过程使用Web服务允许用户使用来自不同源的信息直接更新数据库。用户还可以定期安排作业,以便在数据库中定期更新数据。

有关详细信息,请访问以下链接:

http://searchmicroservices.techtarget.com/tip/REST-vs-SOAP-Choosing-the-best-web-service

答案 1 :(得分:0)

  

Retrofit,一种适用于Android和Java的类型安全的HTTP客户端

尽管通常用于REST API,但是Retrofit可以用于使用任何类型的Web服务,无论是REST还是SOAP。我对SOAP标准了解不多,但是您绝对可以使用Retrofit来做SOAP。

https://github.com/asanchezyu/RetrofitSoapSample

答案 2 :(得分:-1)

WSDL是基于SOAP的webservice,然后使用KSOAP无法使用Retrofit,因为Retrofit仅用于Restful webservice。