在android中使用KSoap库读取webservice结果时出错

在android中使用KSoap库读取webservice结果时出错,android,Android,我正在使用Ksoap库从Web服务读取xml。以下是我使用的代码: private static String SOAP_ACTION_Transaction = "http://tempuri.org/Trackdata"; private static String NAMESPACE_Transaction= "http://tempuri.org/"; private static String METHOD_NAME_Transaction = "Trackdata";

我正在使用Ksoap库从Web服务读取xml。以下是我使用的代码:

private static String SOAP_ACTION_Transaction = "http://tempuri.org/Trackdata";
    private static String NAMESPACE_Transaction= "http://tempuri.org/";
    private static String METHOD_NAME_Transaction = "Trackdata";
    private static String URL_Transaction = "https://devraj.charge.com/process/getAndroidData.asmx?WSDL";
我正在使用asyn任务调用showdetails()方法

   public void showdetails()
        {
            String result = "";
            SoapObject resultRequestSOAP = null;
            SoapObject resultRequestSOAPbody =null;
            SoapObject request = new SoapObject(NAMESPACE_Transaction, METHOD_NAME_Transaction);

            request.addProperty("Type","payment");
            request.addProperty("Id",53);
            request.addProperty("amount","0.02");
            request.addProperty("CCExpMonth",11);
            request.addProperty("CCExpYear",22);
            request.addProperty("Source","gg");
            request.addProperty("profileId",748);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(request);
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL_Transaction);
            androidHttpTransport.debug = true;

            try 
            {
                androidHttpTransport.call(SOAP_ACTION_Transaction, envelope);
                String requestDumpString = androidHttpTransport.requestDump;
                System.out.println("requestDump : " + requestDumpString);
                resultRequestSOAP = (SoapObject) envelope.getResponse(); // Output received
                result = resultRequestSOAP.getProperty(0).toString(); // Result string
                 System.out.println("OUTPUT : " + result);


            } catch (Exception e) {
                e.printStackTrace();
            }

        }
但是,我得到以下错误:

SoapFault - faultcode: 'soap:Server' faultstring: 'System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
在本声明中: resultRequestSOAP=(SoapObject)信封。getResponse(); 有人能告诉我什么是错误,我已经分析了其他网络服务,以及工作良好,但对于这一个我得到这个错误。 以下是我的xml数据的一部分:

<?xml version="1.0" encoding="utf-8"?>
<ClsProcessData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
  <ProfileId>748</ProfileId>
  <Id>53</MerchantId>
  <InvoiceNum>53-375</InvoiceNum>
  <InvoiceDescription />
  <amount>0.02</InvoiceAmount>
  <CCName />
  </ClsProcessData>

748
53
53-375
0.02
如果有人能告诉我错误,我将不胜感激

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
String responseLocal = resultsRequestSOAP.toString();
尝试上面的方法,而不是resultRequestSOAP=(SoapObject)envelope.getResponse()

或者,如果您的回答是原始的,请尝试

 SoapPrimitive response = (SoapPrimitive) envelope.getResponse();

我试过了,它给了我一个错误——在这一行resultRequestSOAP=(SoapObject)envelope.bodyIn;。java.lang.ClassCastException:org.ksoap2.SoapFault无法强制转换为org.ksoap2.serialization.SoapObjectIt进入if条件…str=---内部异常堆栈跟踪结束---交叉检查您的请求参数。请查看
 SoapPrimitive response = (SoapPrimitive) envelope.getResponse();