Where to see the generated XML (KSOAP2)

user208030 picture user208030 · Jan 14, 2013 · Viewed 7.2k times · Source

I'm having a hard time trying to get to see the generated XML with my SoapRequest. This is my code:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

        PropertyInfo propInfo=new PropertyInfo();
        propInfo.setName("arg0");
        propInfo.setType(PropertyInfo.STRING_CLASS);
        propInfo.setValue(sessionId);

        request.addProperty(propInfo);

        // Sending the array representing our board:

        Fields fieldsVector = new Fields();

        for (int i=0; i<65; i++) {

            fieldsVector.add(move[i].toString());

        }

        PropertyInfo fieldsPropertyInfo = new PropertyInfo();
        fieldsPropertyInfo.setName("fields");
        fieldsPropertyInfo.setValue(fieldsVector);
        fieldsPropertyInfo.setType(fieldsVector.getClass());

        request.addProperty(fieldsPropertyInfo);

        PropertyInfo sessionPropertyInfo = new PropertyInfo();
        sessionPropertyInfo.setName("arg0");
        sessionPropertyInfo.setType(PropertyInfo.STRING_CLASS);
        sessionPropertyInfo.setValue(sessionId);
        request.addProperty(sessionPropertyInfo);

        envelope.setOutputSoapObject(request);

        envelope.addMapping(NAMESPACE, "fields", new Fields().getClass());

        HttpTransportSE androidHttpTransport = new HttpTransportSE(WSDL_URL);
        // androidHttpTransport.debug = true;


        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
        } catch (Exception e) {
            throw new RuntimeException("Unexpected exception", e);
        }

        try {
            SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
        } catch (SoapFault e) {
            System.out.println("Error adding move: " + e.faultstring);//można to ładnie jakoś pokazać na ekranie
            throw e;
        }
    }

As you can see I have tried setting debugging mode but it doesn't work. Where should I be able to see the output?

Answer

R4j picture R4j · Jan 14, 2013

You almost reached the answer, set androidHttpTransport.debug = true and call dump xml like this:

   androidHttpTransport.debug = true;
   androidHttpTransport.call(SOAP_ACTION, envelope);
   Log.d("dump Request: " ,androidHttpTransport.requestDump);
   Log.d("dump response: " ,androidHttpTransport.responseDump);