Ver Mensaje Individual
  #1  
Antiguo 06-01-2010
underwater underwater is offline
Miembro
 
Registrado: oct 2007
Ubicación: Argentina
Posts: 23
Reputación: 0
underwater Va por buen camino
Question Enviar Array a WebService hecho en java

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! )
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:

Código PHP:
public class Cliente{
   public 
int ClientID;
   public 
String Nombre;
   public 
String Apellido;


Declarado como:
Código PHP:
Cliente [] ArrayClient
el encabezado de la funcion seria:

Código PHP:
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:
Código Delphi [-]
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
Responder Con Cita