KSOAP ANDROID - получение структуры от веб-службы C # - PullRequest
0 голосов
/ 04 сентября 2011

Я создаю приложение для Android, которое будет подключаться к моей веб-службе ASP.NET.

Я уже создал соединение, используя KSOAP, и мне удается выполнить методы, которые возвращают строки и int.

Я использую SoapPrimitive для получения этих методов:

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

Проблема в том, что когда у меня есть метод, который возвращает следующую структуру - Array.

Как я могу получить его?

public struct ClientData
{
  public int id_note;
  public string descricao;
  public string timer;
}

[WebMethod]
    public ClientData[] open_notes(int _id_users) 

    {
        MySqlConnection conn = new MySqlConnection("**************************************");
        MySqlDataReader rdr = null;

        int y = 0;

        try
        {
            //abrir conexão
            conn.Open();

            //passar conexão para command object
            MySqlCommand cmd = conn.CreateCommand();

            cmd.CommandText = "SELECT id_notes, note, timer from notes WHERE id_users = '" + _id_users + "' AND note_is_active = 1 ORDER BY lastmodified DESC";
            rdr = cmd.ExecuteReader();

            ClientData[] Clients = null;
            Clients = new ClientData[30];


            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    Clients[y].id_note = int.Parse(rdr[0].ToString());
                    Clients[y].descricao = rdr[1].ToString();
                    Clients[y].timer = rdr[2].ToString();
                    y = y + 1;


                }


                Array.Resize(ref Clients, y);
                rdr.Close();


            }
            else
            {
                Clients[0].id_note = 0;
                Array.Resize(ref Clients, 1);
            }

            return Clients;
        }

        finally
        {
            // close the reader
            if (rdr != null)
            {
                rdr.Close();
            }

            // 5. Close the connection
            if (conn != null)
            {
                conn.Close();
            }
        }


    }

1 Ответ

0 голосов
/ 05 сентября 2011
...