1
    ****android side:**
        Permission is also added in Android mainfest.xml    
        **webMethod.java****
SoapObject request = new SoapObject(SOAPNAMESPACE,SOAPLOGINMETHOD);
request.addProperty("Username",Username);
request.addProperty("Password",Password);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    Log.d("parameter out",""+ envelope.bodyOut.toString());
    try{HttpTransportSE httpTransport = new HttpTransportSE(SOAPURL);
    httpTransport.call(SOAPLOGINACTION, envelope);
    SoapObject response=(SoapObject) envelope.bodyIn;
    Log.d("parameter in",""+ envelope.bodyIn);
    id=response.getProperty(0).toString();

****DOTNETWEBSERVICE side:**
 [WebMethod]
public string LoginCheck(string username, string password)//,int waitId,string phoneName,string phoneStatus,string time,string date)
{
    string userID1 = null;
    int d = 0,ds=0;
    string path = "Data Source=UX-PC;Initial Catalog=ResturantOrdingSystem;User ID=sa;Password=123";
    SqlConnection con = new SqlConnection(path);
    try
    { con.Open(); }
    catch (Exception exx) { }
    //  string sql = "SELECT * FROM HR Where username='" + username + "'AND password='" + password + "'";
    string sql = "SELECT * FROM HR Where position='waiter' AND username='" + username + "'AND password='" + password + "'";
    //+ "'AND position=waiter'"

    SqlCommand CMD = new SqlCommand(sql, con);
    dr = CMD.ExecuteReader();

    while (dr.Read())
    {
        userID1 = (string)dr["name"];
    } con.Close();         

问题: 我在

logtrace: Exception(716): java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 
i am using ksoap2-android-assembly-2.6.0-jar-with-dependencies
Please describe me tell me solution?
4

1 回答 1

3

我认为您的响应对象是空的,当您尝试将其分配给“id”变量时,它会出现此错误

id=response.getProperty(0).toString();

检查您的回复是否为空?检查您的网络方法 sql 查询是否返回数据?

于 2012-11-23T08:02:41.393 回答