我正在尝试更新我的 Android 应用程序以使用 Ksoap2-Android 版本 3,从版本 2.6 开始,以利用新的 SSL/自签名证书功能。
该应用程序似乎没有问题发送简单的参数和接收复杂的对象。但是,当尝试使用我的请求发送复杂对象时,它以 null 形式到达服务器。
我从来没有在 ksoap 中对复杂类型进行任何编组/解组工作,所以基本上有很多 SoapObjects 和 PropertyInfo 对象在进行,还有很多 .getProperty("propertyname") 等通过层次结构逐步下降。没关系,编写代码有点乏味,但效果很好,所以一切都很好。但是现在当我尝试发送一个复杂对象时,服务器上的请求没有收到任何数据。
我通过创建一个 SoapObject 来组合我的请求对象,然后将更多的 SoapObjects 分配为原始对象的属性,并从它们中分配更多的 SoapObjects,等等,PropertyInfo 对象位于树的末尾。由于某种原因,这在使用 ksoap2 版本 3 时似乎不再起作用。我已经对此进行了测试,唯一的区别是我正在使用的 ksoap 版本。适用于 2.6,不适用于 3.0。
是否有任何已知的原因会发生这种情况?如有必要,我可以在这里发布代码,但我想我会问,以防我遗漏了一些基本的东西。我在 News 或 Coding Tips & Tricks 中没有看到任何内容来说明为什么会发生这种情况。