2013-01-14 12 views
7

Ich habe eine harte Zeit zu versuchen, zu sehen, die generierte XML mit meiner SoapRequest. Das ist mein Code:Wo zu sehen, die generierte XML (KSOAP2)

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; 
     } 
    } 

Wie Sie sehen können habe ich versucht, Debugging-Modus, aber es funktioniert nicht. Wo kann ich die Ausgabe sehen?

Antwort

19

Sie erreicht fast die Antwort, setzen androidHttpTransport.debug = true und Call-Dump xml wie folgt aus:

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

Nur vorsichtig sein und die letzten 2 Zeilen schreiben, wenn das Ergebnis empfangen wird, das heißt (OnPostExecute) zum Beispiel. –