Android KSoap2 和数组问题

标签 android soap ksoap2

我正在使用 Ksoap2 从 Android 调用 Web 服务。我构建请求,但 .call() 方法抛出以下异常:

07-22 11:12:57.718: W/System.err(9582): java.lang.NumberFormatException: Invalid int: "][2"
07-22 11:12:57.728: W/System.err(9582):     at java.lang.Integer.invalidInt(Integer.java:138)
07-22 11:12:57.728: W/System.err(9582):     at java.lang.Integer.parse(Integer.java:375)
07-22 11:12:57.738: W/System.err(9582):     at java.lang.Integer.parseInt(Integer.java:366)
07-22 11:12:57.738: W/System.err(9582):     at java.lang.Integer.parseInt(Integer.java:332)
07-22 11:12:57.738: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.getIndex(SoapSerializationEnvelope.java:287)
07-22 11:12:57.748: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.readVector(SoapSerializationEnvelope.java:304)
07-22 11:12:57.758: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.readInstance(SoapSerializationEnvelope.java:446)
07-22 11:12:57.758: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:387)
07-22 11:12:57.768: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:273)
07-22 11:12:57.768: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389)
07-22 11:12:57.788: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:273)
07-22 11:12:57.788: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389)
07-22 11:12:57.798: W/System.err(9582):     at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:151)
07-22 11:12:57.798: W/System.err(9582):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:140)
07-22 11:12:57.798: W/System.err(9582):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:118)
07-22 11:12:57.808: W/System.err(9582):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:253)
07-22 11:12:57.808: W/System.err(9582):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
07-22 11:12:57.808: W/System.err(9582):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)

如果我将完全相同的请求放入 SoapUI,则调用有效。

即使使用 KSoap2,我也会收到响应,但错误似乎出在 Ksoap2 解析响应中。

我认为是这部分响应导致了错误:

<data soapenc:arrayType="xsd:anyType[][2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

Ksoap2 认为 anyType[][2] 的 ][2 应该是一个 int。

这是 ksoap2 中的错误吗?有解决办法吗?

最佳答案

我认为它期望在 soapenc:arrayType="xsd:anyType[][2]"的第一个方括号中有一个 int 值

因为它没有得到任何 int 值,所以出现了异常。

关于Android KSoap2 和数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17792654/

相关文章:

android - 端点方法接收修改后的字符串参数

java - 用于转储总帐的 NetSuite SOAP API (SuiteTalk)

java - Android KSOAP2 请求到 PHP SOAP 服务器

android - 如何使用 KSOAP 故障消息

java - ksoap2-android信封的定制

java - 在 Android 上使用 KSOAP2 发送 SOAP 消息

android - 同步适配器和同步结果

java - 在 Android 中使用 MySQL 和 PHP

android - onCreate 在哪里获取 Bundle 类型参数?

vb.net - MaxReceivedMessageSize SOAP 服务