android ksoap和对象作为回报

时间:2013-06-12 11:54:04

标签: android ksoap2

在我的WebService中,我有一个简单的类:

public class UserName
    {
        public UserName() { }

        public UserName(string loginname, bool logged)
        {            
            this._loginname = loginname;            
            this._logged = logged;   
        }


        public string Loginname
        {
            set { this._loginname = value; }
            get { return this._loginname; }
        }

        public bool Logged
        {
            set { this._logged = value; }
            get { return this._logged; }
        }

        private string _loginname = string.Empty;
        private bool _logged = false;        
    }

我与IIS(ADB仿真器)进行通信:

SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);

SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(Request);

HttpTransportSE transport= new HttpTransportSE(URL);

transport.call(SOAP_ACTION, soapEnvelope);
SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();

好的,这很好。

我不知道如何在android代码中获取UserName对象。 如何制作响应对象类?

2 个答案:

答案 0 :(得分:1)

我现在正在使用其中一项服务,这就是我们被迫做的事情。

使用我正在使用的SOAP服务,所有内容都以XML格式返回。您可以使用以下代码查看服务的原始响应,然后决定从那里做什么。

transport.responseDump

返回的字符串将为您提供传输的完整响应。您需要确保首先打开调试,这可以通过以下方式完成。

transport.debug=true;

答案 1 :(得分:0)

改变你的行:

SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();

SoapObject response=(SoapObject)envelope.bodyIn;