Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   WebService que retorna un String[]; (https://www.clubdelphi.com/foros/showthread.php?t=49385)

JuanErasmo 19-10-2007 22:24:50

WebService que retorna un String[];
 
Hola amigos,
estoy iniciando en esto de los WebServices,
y ya hice el famoso "Hello World."

Mi inquietud ahora es que el web service retorne un arreglo de strings,
es decir un vector con todos los datos.

lo estoy haciendo asi, y me sale error,

Código:


[WebMethod(Description="Servicio de prueba 2")]
public string Mensajito(string param1,string param2)
{
string[] H = new string[3];
H[0] = "ws";
H[1] = "ws1";
H[2] = "ws2";
 
return H;
 


}

Me dice que no puede convertir implicitamente un string[] en un string.....

si puedo retonar un arreglo en un web service???
como???

Gracias!

JuanErasmo 20-10-2007 01:43:57

en este tema,,,,,,,,
 
Miren aqui esta la solucion amigos.

Gracias.

En el WebService esto:
Código:


[WebMethod(Description="Servicio de prueba 2")]
public string Mensajito(string param1,string param2,out string [] H )
{
H = new string[3]; //{"s","ss","sss"};
H[0] = "ws";
H[1] = "ws1";
H[2] = "ws2";
// intente asi, pero no// return String.Format("{0} {1} {2}", H[0], H[1], H[2]);
return null;
}

y en la aplicacion cliente, el consumidor del web service, esto:
Código:


 
private void button3_Click(object sender, EventArgs e)
{
localhostPut.Service Str = new PruebaWS.localhostPut.Service();
string[] arreglo = new string[3];


Str.Mensajito("D", "D", out arreglo);

label2.Text = arreglo[2];
}

si alguien lo necesita!
Gracias!

__hector 22-10-2007 22:34:41

Creo que tienes un pequeño problema con los tipos de datos. string y string[] no es lo mismo, como tampoco MiObjeto y MiObjeto[]. El segundo, claro esta, es un arreglo del tipo que lo define.

Asi que, si quieres que tu webservice retorne un arreglo de string, deberías cambiarle el signature, de:

Código:

public string Mensajito(string param1,string param2)
a

Código:

public string[] Mensajito(string param1,string param2)
El uso de out y ref, aunque solucionan aparentemente el escenario que tienes ahora, en realidad no son el mecanismo que deberias utilizar para obtener el resultado.

Debes tomar en cuenta que los parámetros enviados con las clausulas out y ref son pasados 'por referencia' en vez de 'por valor'. El uso excesivo de parámetros out y ref indican, segun recuerdo haber leído en algún libro o articulo, debilidad en el diseño.


La franja horaria es GMT +2. Ahora son las 21:50:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi