gpt4 book ai didi

android - kSOAP2 双 ID 异常

转载 作者:行者123 更新时间:2023-11-30 04:40:10 25 4
gpt4 key购买 nike

我试图在我的 android 应用程序中使用 kSOAP 2,当我尝试执行特定的 web 服务请求时,我最终被抛出一个“双 ID”异常。我能够在 kSOAP 源代码中找到它被抛出的位置,它在 SoapSerializationEnvelope 中。类方法 public Object read()以下是该代码的摘录,显示了抛出的异常:

        if (id != null) {
Object hlp = idMap.get(id);
if (hlp instanceof FwdRef) {
FwdRef f = (FwdRef) hlp;
do {
if (f.obj instanceof KvmSerializable)
((KvmSerializable) f.obj).setProperty(f.index, obj);
else
((Vector) f.obj).setElementAt(obj, f.index);
f = f.next;
} while (f != null);
} else if (hlp != null)
throw new RuntimeException("double ID");
idMap.put(id, obj);
}

我完全不确定这个异常是关于什么的,或者我该如何解决它。有人知道这个异常是怎么回事吗?

谢谢

编辑:

需要注意的是,我在这个应用的iOS版本中也使用了SOAP webservice连接方式,同样的请求没有任何问题。

新信息:

经过仔细检查,问题似乎是由我得到的包含 <diffgr:before> 的 xml 响应引起的元素,其中包含与上述 ID 相同的表。我认为这是问题的原因,到目前为止我执行的其他请求中没有该元素,也没有异常。因此,添加一个问题:我可以阻止 Web 服务在其响应中发送此 block ,还是让 kSOAP 忽略它?

最佳答案

我能够通过删除网络服务发送的 diffgr:before 元素来解决这个问题。感谢this post,我做到了

关于android - kSOAP2 双 ID 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6130028/

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