ksoap2 和 retrofit2 通信的区别 android
differance between ksoap2 and retrofit2 for communicate with android
我想使用 android 应用程序从网络服务传递和获取数据,我有该网络服务的 wsdl
。那么我可以使用哪一个来进行数据操作 ksoap2
或 retrofit 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。
我想使用 android 应用程序从网络服务传递和获取数据,我有该网络服务的 wsdl
。那么我可以使用哪一个来进行数据操作 ksoap2
或 retrofit 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。