Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2007
JuanErasmo JuanErasmo is offline
Miembro
 
Registrado: ago 2005
Posts: 544
Poder: 19
JuanErasmo Va por buen camino
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!
Responder Con Cita
  #2  
Antiguo 20-10-2007
JuanErasmo JuanErasmo is offline
Miembro
 
Registrado: ago 2005
Posts: 544
Poder: 19
JuanErasmo Va por buen camino
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!
Responder Con Cita
  #3  
Antiguo 22-10-2007
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
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.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Porque GetLocaleFormatSettings siempre retorna dd.MM.yyyy QuarkBcn API de Windows 2 11-10-2007 13:43:05
Saber cual es el error cuando FileWrite retorna -1 abracadabra Varios 1 16-11-2006 01:44:18
Funcion de Que Retorna una Cadena Abel Garcia Firebird e Interbase 4 23-07-2005 10:30:02
QRPrinter.PrintSetup no retorna la cantidad de copias orfeo Impresión 1 17-02-2004 20:01:46


La franja horaria es GMT +2. Ahora son las 10:57:42.


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
Copyright 1996-2007 Club Delphi