ksoap2 和 retrofit2 通信的区别 android

differance between ksoap2 and retrofit2 for communicate with android

我想使用 android 应用程序从网络服务传递和获取数据,我有该网络服务的 wsdl。那么我可以使用哪一个来进行数据操作 ksoap2retrofit 2 即 better.And 如果我使用其中一个还需要什么。

这取决于编写您的服务的体系结构。 Retrofit 用于 rest 服务,而 ksoap 用于 soap 服务。

REST 与 SOAP SOAP 和 RESTful Web 服务之间存在显着差异。下面的项目符号根据个人经验分解了每个 Web 服务的功能。

休息

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

SOAP

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

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

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

WSDL 是基于 SOAP 的网络服务,因此使用 KSOAP 无法使用 Retrofit,因为 Retrofit 仅用于 Restful 网络服务。

Retrofit, A type-safe HTTP client for Android and Java

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

https://github.com/asanchezyu/RetrofitSoapSample