gpt4 book ai didi

java - 在 Android 中实现 SOAP api

转载 作者:行者123 更新时间:2023-12-05 00:18:27 27 4
gpt4 key购买 nike

我有一个旧 API,我想在我的 Android 应用程序中实现。有一个现有的旧 android 应用程序使用 apache 的 HttpPostorg.apache.http.client.methods
API的响应格式如下:

<?xml version='1.0' encoding='UTF-8' ?>
<root>
<status>OK</status>
<items>
<item>
<refno>123456</refno>
<vehicle_name>BMW</vehicle_name>
<model>BM1234</model>
<color>BLACK</color>
</item>
</items>
</root>
它是一个纯 SOAP 库吗?因为经过数小时的研究,我发现实际的 SOAP 响应包含 wsdl 标记,但此 API 中的响应很简单。请建议我如何在我的 android 应用程序中实现这个 API。

最佳答案

SOAP是用于描述对象的 XML 协议(protocol)。虽然它适用于许多不同的协议(protocol),但通过 HTTP 使用它基本上是基于 HTTP 的 XML,需要一些额外的设置(通常是 HTTP header )才能使其工作。
WSDL是用于描述托管在给定端点上的 Web 服务的元数据,它是机器可读的。存在许多用于 Web 服务的客户端生成库,它们可以创建可以调用 Web 服务的客户端。
如果您已经可以调用 Web 服务端点并使用 apache 客户端获得响应,那么您可以或多或少地忽略 WSDL 和所有这些东西。您正在执行足够的 SOAP 来调用 Web 服务。
获得响应后,使用您喜欢的 XML 库反序列化/解析 XML。
Android有一对built in ,您可以使用 DOM 以老式方式进行操作,使用构建在 DOM 之上的库,例如 dom4j甚至是真正老式的 SAX 方式。
对于非常大的 XML 消息,您需要使用流式解析器,如 Stax ,但通常 DOM 更容易上手。
最后写你自己的,并确保你添加一个答案到 this SO Question :)

关于java - 在 Android 中实现 SOAP api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67767903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com