当前位置:编程学习 > wap >>

关于android用ksoap2库开发webserver的问题

在用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();
}
}

有没有大神帮忙解决下啊,挺急的,谢谢啦 --------------------编程问答--------------------

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

我是这样调用的。 --------------------编程问答-------------------- 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); --------------------编程问答-------------------- envelope.getResponse()时要注意,
Object result;这样定义不行,要用SoapObject result;这样。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,