在用ksoap2开发webserver的时候,调用了HttpTransportSE的call之后 envelope里面的bodyIn总是空的,然后调用envelope.getResponse()就会崩溃倒是是什么原因呢?
代码片段如下
public void GetUserInfo( String Url, String Number, String Limittime ){
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    request.addProperty("account", Number.trim());
    request.addProperty("limittime", Limittime.trim());
       
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
    envelope.dotNet = true;
//     envelope.bodyOut = request;
    envelope.encodingStyle="UTF-8";
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    try {
//      androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION, envelope);//调用了这个之后服务端能看到访问,但是看不到数据 } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Object result;
try {
result = envelope.getResponse();//调用这个的时候程序就崩溃了
String str = result.toString();
int i = 0;
} catch (SoapFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}有没有大神帮忙解决下啊,挺急的,谢谢啦

解决方案 »

  1.   


        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.dotNet=true;
                envelope.setOutputSoapObject(rpc);  
                envelope.bodyOut = rpc;
                ht.call(soapAction, envelope);
                SoapObject result = (SoapObject) envelope.bodyIn;  
                String detail =  result.getProperty(0).toString();
                Log.i(TAG, "getResult:"+detail);我是这样调用的。
      

  2.   

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.dotNet=true;
                envelope.setOutputSoapObject(rpc);  
                envelope.bodyOut = rpc;
                ht.call(soapAction, envelope);
                SoapObject result = (SoapObject) envelope.bodyIn;  
                String detail =  result.getProperty(0).toString();
                Log.i(TAG, "getResult:"+detail);
      

  3.   

    envelope.getResponse()时要注意,
    Object result;这样定义不行,要用SoapObject result;这样。