Estoy utilizando Delphi2010. Importo un wsdl a través de WsdlImporter que me crea una unit Consolidacion.
En ella se crean los métodos:
Código Delphi
[-] ConsolidacionWS = interface(IInvokable)
['{8796BA36-EF66-FC3D-8199-9C6A7C27E916}']
function getEstado(const entidad: string): string; stdcall;
function getListaRegistros(const entidad: string): Array_Of_registroBean; stdcall;
function resetFechaRegistrosEntrada: string; stdcall;
end;
function GetConsolidacionWS(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): ConsolidacionWS;
El parámetro Addr de la función GetConsolidacionWS se carga durante la implementación, en el supuesto de que sea vacio, con la dirección del webservice
donde registroBean es una
Tremotable:
Código Delphi
[-] registroBean = class(TRemotable)
private
Fasunto: string;
Fasunto_Specified: boolean;
FcorreoElectronico: string;
......
Array_Of_registroBean = array of registroBean;
Intento leer la respuesta desde otra unidad donde importo Consolidacion:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var Lista : Consolidacion.Array_Of_registroBean;
Registro : Consolidacion.registroBean;
Asunto : string;
begin
Setlength(Lista, 3);
Lista := Consolidacion.GetConsolidacionWS.getListaRegistros('004');
for Registro in Lista do begin
Asunto := Registro.asunto;
Memo1.Lines.Add('====================================');
Memo1.Lines.Add(Asunto);
end;
end;
Esto no funciona y no sé como debo capturar los valores que me devuelve el webservice.
Alguien me puede ayudar?.