Search code examples
ksoap2android-ksoap2

Sending Jagged Array as parameter to WCF Service using KSOAP2 in android


I am having an issue with sending a jagged Array to a wcf webservice. The method is expecting a studentId and jaggedArray of information related to the student. Here is the method signature in c#

String[][] SearchStudent(string studentId, String[][] additionalInformation);

According to KSOAP wiki page, the below piece of code should have worked. I've also tried it with Hashtable; it returned the same error message.

SoapObject additionalInformation = new SoapObject(NAMESPACE, "SearchStudent");
    additionalInformation.addProperty("StudentFirstName", "John");
    additionalInformation.addProperty("StudentLastName", "Doe
    additionalInformation.addProperty("StudentDOB", "06101990");
    SoapObject request = new SoapObject(NAMESPACE, "Authenticate");
    request.addProperty("sessionId", params[0]);
    request.addProperty("additionalInformation ", AuthParams);


SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(url);
androidHttpTransport.debug = true;
(new MarshalHashtable()).register(envelope);
androidHttpTransport.call(SOAP_ACTION + "SearchStudent", envelope);
SoapObject sResult = (SoapObject)envelope.getResponse();

I am getting the message Invalid argument error message. What am I doing wrong here?


Solution

  • I was able to get it to work with envelope.version 10 and not 11. Here is the link to my other post where you can find the solution.