Hola!
Pues sí, creo que lo tengo todo, a falta de probar en modo producción.
Esta semana ha habido varios cortes del servicio (avisan por email cuando tienen previsto uno), pero conseguí hacer pruebas para enviar una factura, consultar el estado de una factura, obtener el listado de organismos disponibles, anular una factura, etc.
Mañana intentaré poner algunos ejemplos, pero ahora mismo tengo este a mano: Consultar Administraciones:
Código Delphi
[-]
procedure TfrmMain.Button3Click(Sender: TObject);
var
answ : ConsultarAdministracionesResponse;
htpr: THTTPRIO;
sphdr: TSOAPHEADER;
WS: FacturaSSPPWebServiceProxyPort;
UnidadDir : UnidadDir3;
i:integer;
begin
if comboCertificate.ItemIndex=-1 then
begin
showmessage('Debe seleccionar primero un certificado en el desplegable.');
exit;
end;
Listbox1.items.clear;
sphdr := TSOAPHEADER.create;
htpr := THTTPRIO.create(Self);
htpr.SOAPHeaders.Send(sphdr);
htpr.OnBeforeExecute := HTTPRIO1BeforeExecute;
WS:= GetFacturaSSPPWebServiceProxyPort(FALSE, '', htpr);
try
answ := WS.consultarAdministraciones;
except
on e:exception do showmessage(e.Message);
end;
if answ.resultado.codigo='0' then
begin
UnidadDir := UnidadDir3.Create;
for i:=0 to length(answ.administraciones)-1 do
begin
UnidadDir := answ.administraciones[i];
begin
listbox1.items.append(UnidadDir.codigo + ' - ' + UnidadDir.nombre )
end;
end;
UnidadDir.Free;
end;
end;
El evento HTTPRIO1BeforeExecute creo recordar que ya lo publiqué en otro post más arriba.
Cuando tenga más tiempo editaré el post original añadiendo todas las funciones.