Question

I m trying to send a complex object to me web service and return a string value but my logcat from android returns Null Refference

the full code ksoap2 send the object

    Questionnairekeyval qk = new Questionnairekeyval(5, 8, "Questionnaire1", "", "", "", "", "", "", "", "");


    PropertyInfo pi = new PropertyInfo();
    pi.setName("Questionnairekeyval");
    pi.setValue(qk);
    pi.setType(qk.getClass());
    request.addProperty(pi);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);

    envelope.dotNet = true;

    envelope.implicitTypes = true;
    // 2. Set the request parameters
    envelope.setOutputSoapObject(request);

    envelope.addMapping(WS_NAMESPACE, "Questionnairekeyval",
            new Questionnairekeyval().getClass());

    // 3. Create a HTTP Transport object to send the web service request
    HttpTransportSE httpTransport = new HttpTransportSE(WSDL_URL);
    // httpTransport.debug = true; // allows capture of raw request/respose
    // in
    // Logcat

    // 4. Make the web service invocation
    httpTransport.call(SOAP_ACTION, envelope);

    String result;

    if (envelope.bodyIn instanceof SoapFault) { // SoapFault =
                                                // FAILURE
        SoapFault soapFault = (SoapFault) envelope.bodyIn;
        throw new Exception(soapFault.getMessage());
    } else {
        // SoapObject = SUCCESS
        SoapPrimitive soapObject = (SoapPrimitive) envelope.getResponse();
        result = (soapObject).toString();

        Log.wtf("result SOAPObject", result + " " + soapObject);

    }

C# get the object and return a string

     [WebMethod]
    public String putAnswers(Questionnairekeyval reponse)
    {

        int a = reponse.idClient;
             return Convert.ToString(a);
   }
Was it helpful?

Solution

Solved the name of the proprety in the java request it was Questionnairekeyval but in the webservice was reponse so its basicly that the problem why it returns null

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top