none
Arraylist e Web Services RRS feed

  • Pergunta

  • Bom sou iniciante e estou precisando enviar um arraylist para um webserver, ou tambem uma classe genericlist.

     

    se alguem puder me ajudar agradeço

    sexta-feira, 9 de março de 2007 18:49

Respostas

  • Dubetoni,

    Você pode fazer isto usando WebService com um método que aceite o ArrayList:

    [WebMethod]
    public void EnviaArray(ArrayList lista)
    {
       ..... // seu código
    }

    []s,
    Carlos.

    sábado, 10 de março de 2007 21:04

Todas as Respostas

  • Dubetoni,

    Você pode fazer isto usando WebService com um método que aceite o ArrayList:

    [WebMethod]
    public void EnviaArray(ArrayList lista)
    {
       ..... // seu código
    }

    []s,
    Carlos.

    sábado, 10 de março de 2007 21:04
  • Carlos, ja tentei fazer isso tambem, porem quando eu referencio na aplicação e tento enviar um arraylista da um erro observe o exemplo.

     

    Crio o webservice

    [WebMethod]

    public void lista(ArrayList list)

    {

    }

    Na aplicação referencio o webservice e sito da seguinte forma.

    webservice.Service1 ws = new webservice.Service1();

    ArrayList lista = new ArrayList();

    lista.Add("Nome");

    ws.lista(lista);

    //com isso da o seguinte erro

    Argument '1': cannot convert from 'System.Collections.ArrayList' to 'object[]'

    se puder me ajudar agradeço

    segunda-feira, 12 de março de 2007 12:39
  • Realmente o ArrayList causa este erro. Mas vamos fazer diferente então:

    No webservice, crie o método:

    [WebMethod]
    public string ListaObj(object[] lista)
    {
       string ret = "";
       foreach (string s in lista)
       {
         ret += s;
       }
       return ret;
    }

    Montei o exemplo para você ver que o object[] tem o mesmo comportamento do ArrayList.

    Na aplicação, fiz a chamada da seguinte forma:

    ws.Service _ws = new WindowsWSArray.ws.Service();
    ArrayList lista = new ArrayList();

    lista.Add("nome ");
    lista.Add(
    "nome1 ");
    lista.Add(
    "nome2 ");
    lista.Add(
    "nome3 ");

    object
    [] obj = lista.ToArray(); // converte o ArrayList para um array de objetos - object[]
    string ret = _ws.ListaObj(obj);
    MessageBox.Show(ret);

    Espero ter ajudado.

    []s,
    Carlos.

    terça-feira, 13 de março de 2007 00:06