I am using Ksoap2 to call a web service from Android. I create a request, but the .call () method throws the following exception:
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)
If I put the same request in SoapUI, the call will work.
Even using KSoap2, I get the answer, but the error seems to be in the analysis of the Ksoap2 answer.
I believe this part of the answer is throwing an error:
<data soapenc:arrayType="xsd:anyType[][2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
Ksoap2 thinks that [2 of any type [] [2] is supposed to be int.
Is this a bug in ksoap2? Is there a workaround for this?
source share