android - 如何通过android中的ksoap SoapObject检索来自webservice的复杂类型对象

标签 android web-services ksoap2 soap-client android-ksoap2

我有一个返回复杂对象(比如 RouteDetails)的网络服务。当我从我使用 ksoap 库的 android 代码调用这个网络服务时,我在 soapobject 中得到响应,但是当我尝试将它转换为我的复杂对象抛出类转换异常,而当我在日志上打印它时,它显示如下输出 -

"RuoteDetails{name="abc",id="2"} "

RouteDetails 是我的对象 现在我完全不知道如何检索我的对象。任何人都可以帮忙。我浏览了各种链接,但找不到合适的解决方案。

最佳答案

Ksoap2 可以将响应解析为多种类型的对象。

  1. SoapObject - 默认值。您可以使用它的方法getPropertygetPropertySafelygetPropertyAsString 等来获取数据。 IE String value = response.getPropertySafelyAsString("propertyName", "default");
  2. 实现KvmSerializable 接口(interface)并由addMaping() 注册的类.
  3. 实现Marshal的类接口(interface)并由addMaping()注册.

在最后两种情况下,您将从 envelope.getResponse() 获取对象(在第一种情况下,您将获取 SoapObject)。 因此,您可以从 SoapObject 获取数据或实现 KvmSerializableMarshal 接口(interface)并注册您的类。

关于android - 如何通过android中的ksoap SoapObject检索来自webservice的复杂类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18588833/

相关文章:

java - SQLite 按日期删除行

web-services - 无法在 soap ui 中加载 wsdl 链接

android - 为 android 使用 ksoap2 库时出现异常

android - 在 android 中解析 KSoap2 响应

android - Ksoap2 类转换异常

java - 无法使用 GSON lib 反序列化对象

java - 使用串联构建代码?

web-services - 通过 SSL 域名调用 Web 服务

java - 为什么我在 CXF 中收到此错误

android - 将 GSON 与烂番茄 API 结合使用时出现的问题(Android)