underwater
06-01-2010, 22:42:24
Buenas a todos!!
Realizando un trabajo sobre un webservice hecho en JAVA, me encontre con un pequeño problema: NO PUEDO HACER QUE LLEGUE UN ARRAY DE OBJETOS!!! (perdon por gritar! :rolleyes:)
Me explico un poco mejor:
Tengo un WebServices que esta hecho en JAVA, y tiene el siguiente metodo:
SaveArray()
Al cual le paso un array de objetos de tipo:
public class Cliente{
public int ClientID;
public String Nombre;
public String Apellido;
}
Declarado como:
Cliente [] ArrayClient;
el encabezado de la funcion seria:
public void SaveArray(Cliente [] ArrayClient){
// ... ejecucion
}
Desde DELPHI, al importarlo con el WSDL me trae el objeto y la funcion lo mas bien. El problema esta al usarla.
Desde delphi tengo un objeto HTTPrior, con el cual ejecuto algo como:
var
List: Array_Of_Cliente;
begin
SetLength(List, 2);
List[0] := Cliente.Create;
List[0].ClientID := 0;
List[0].Nombre := 'Federico';
List[0].Apellido := 'Alvarez';
List[1] := Cliente.Create;
List[1].ClientID := 1;
List[1].Nombre := 'Carlitox';
List[1].Apellido := 'Bala';
(HTTPRIO1 as ArrayWebService).SaveArray(List);
end;
Cuando veo lo que llega del lado del servidor es el array vacio.
En un principio, cuando empece a trabajar con esto, lo que me pasaba es que al intentar enviar un objeto que no sea String o int, o alguno tipo primitivo, llegaba NULO, o sea me reventaba al llegar al servidor. Y para solucionar esto lo que tuve qu hacer es setear en el componente de HTTPrio en la propiedad: Converter -> Options, le tuve que agregar la opcion soXXXXHdr, cosa que no se que siginifica, pero a prueba y error con esa opcion anduvo.
El tema con el array supongo que debe ser un tema de configuracion en la conexioon, o en la importacion del WSDL, pero no lo se.
Si alguno sabe de algun metodo para investigarlo, le paso lo mismo o simplemente, sabe la solucion. Se lo agradeceria muchisimo.
Saludos y muchas gracias por su tiempo
Realizando un trabajo sobre un webservice hecho en JAVA, me encontre con un pequeño problema: NO PUEDO HACER QUE LLEGUE UN ARRAY DE OBJETOS!!! (perdon por gritar! :rolleyes:)
Me explico un poco mejor:
Tengo un WebServices que esta hecho en JAVA, y tiene el siguiente metodo:
SaveArray()
Al cual le paso un array de objetos de tipo:
public class Cliente{
public int ClientID;
public String Nombre;
public String Apellido;
}
Declarado como:
Cliente [] ArrayClient;
el encabezado de la funcion seria:
public void SaveArray(Cliente [] ArrayClient){
// ... ejecucion
}
Desde DELPHI, al importarlo con el WSDL me trae el objeto y la funcion lo mas bien. El problema esta al usarla.
Desde delphi tengo un objeto HTTPrior, con el cual ejecuto algo como:
var
List: Array_Of_Cliente;
begin
SetLength(List, 2);
List[0] := Cliente.Create;
List[0].ClientID := 0;
List[0].Nombre := 'Federico';
List[0].Apellido := 'Alvarez';
List[1] := Cliente.Create;
List[1].ClientID := 1;
List[1].Nombre := 'Carlitox';
List[1].Apellido := 'Bala';
(HTTPRIO1 as ArrayWebService).SaveArray(List);
end;
Cuando veo lo que llega del lado del servidor es el array vacio.
En un principio, cuando empece a trabajar con esto, lo que me pasaba es que al intentar enviar un objeto que no sea String o int, o alguno tipo primitivo, llegaba NULO, o sea me reventaba al llegar al servidor. Y para solucionar esto lo que tuve qu hacer es setear en el componente de HTTPrio en la propiedad: Converter -> Options, le tuve que agregar la opcion soXXXXHdr, cosa que no se que siginifica, pero a prueba y error con esa opcion anduvo.
El tema con el array supongo que debe ser un tema de configuracion en la conexioon, o en la importacion del WSDL, pero no lo se.
Si alguno sabe de algun metodo para investigarlo, le paso lo mismo o simplemente, sabe la solucion. Se lo agradeceria muchisimo.
Saludos y muchas gracias por su tiempo