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

応答が null かどうかを確認しますか? Web メソッドの SQL クエリがデータを返すことを確認しますか?

于 2012-11-23T08:02:41.393 に答える