【问题标题】:differance between ksoap2 and retrofit2 for communicate with androidksoap2 和 retrofit2 与 android 通信的区别
【发布时间】:2017-11-30 05:32:39
【问题描述】:

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

【问题讨论】:

    标签: android soap retrofit2 ksoap2


    【解决方案1】:

    这取决于编写服务的架构。 Retrofit 用于休息服务,而 ksoap 用于肥皂服务。

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

    休息

    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

    【讨论】:

      【解决方案2】:

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

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

      https://github.com/asanchezyu/RetrofitSoapSample

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        猜你喜欢
        • 2018-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-15
        • 2013-01-25
        相关资源
        最近更新 更多