Usuário com melhor resposta
Arraylist e Web Services

Pergunta
-
Respostas
Todas as Respostas
-
-
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
-
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.