Salve a tutta la comunità.
Devo realizzare un programma che deve connettersi con il Sistema Tessera Sanitaria del ministero, tramite sistema SOAPUI.
Ho importato una WSDL (rilasciata dal MEF) in Delphi XE8
Elenco le parti salienti del file importato:
- VisualizzaErogatoRichiesta = class(TRemotable)
- VisualizzaErogatoRicevuta = class(TRemotable)
- function visualizzaErogato
- - - - - - - - - - - - - -- - - - - -- - - --
VisualizzaErogatoRichiesta = class(TRemotable)
VisualizzaErogatoRichiesta = class(TRemotable)
private
FpinCode: stringType;
FcodiceRegioneErogatore: stringType;
FcodiceAslErogatore: stringType;
FcodiceSsaErogatore: stringType;
Fpwd: pwdType;
Fnre: nreType;
FcfAssistito: stringType;
FcfAssistito_Specified: boolean;
FtipoOperazione: tipoOperazioneType;
procedure SetcfAssistito(Index: Integer; const AstringType: stringType);
function cfAssistito_Specified(Index: Integer): boolean;
public
constructor Create; override;
published
property pinCode: stringType read FpinCode write FpinCode;
property codiceRegioneErogatore: stringType read FcodiceRegioneErogatore write FcodiceRegioneErogatore;
property codiceAslErogatore: stringType read FcodiceAslErogatore write FcodiceAslErogatore;
property codiceSsaErogatore: stringType read FcodiceSsaErogatore write FcodiceSsaErogatore;
property pwd: pwdType read Fpwd write Fpwd;
property nre: nreType read Fnre write Fnre;
property cfAssistito: stringType Index (IS_OPTN) read FcfAssistito write SetcfAssistito stored cfAssistito_Specified;
property tipoOperazione: tipoOperazioneType read FtipoOperazione write FtipoOperazione;
end;
VisualizzaErogatoRicevuta = class(TRemotable)
VisualizzaErogatoRicevuta = class(TRemotable)
private
Fnre: nreType;
Fnre_Specified: boolean;
FcfMedico1: cfMedicoType;
FcfMedico1_Specified: boolean;
....
.... ecc
Interfaccia WSDL con funzione di richiamo:
visualizzaErogatoPT = interface(IInvokable)
['{AD9DB9DE-E3E4-1FD0-171D-FD78913E0E54}']
// Cannot unwrap:
// - Input element wrapper name does not match operation's name
// - More than one strictly out element was found
function visualizzaErogato(const VisualizzaErogatoRichiesta: VisualizzaErogatoRichiesta): VisualizzaErogatoRicevuta; stdcall;
end;
function GetvisualizzaErogatoPT(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): visualizzaErogatoPT;
Ho difficoltà a richiamare la funzione:
visualizzaErogato
procedure TMainF.Button3Click(Sender: TObject);
var
interfaccia: visualizzaErogatoPT;
richiesta : VisualizzaErogatoRichiesta;
ricevuta : VisualizzaErogatoRicevuta;
begin
try
richiesta.pinCode := 'xxxxxxxx';
richiesta.codiceRegioneErogatore := '180';
richiesta.codiceAslErogatore := '145';
richiesta.codiceSsaErogatore := '11111';
richiesta.pwd := '';
richiesta.nre := '299299299';
richiesta.cfAssistito:='YYYYYYYYY';
richiesta.tipoOperazione := '1';
interfaccia := GetvisualizzaErogatoPT(true);
ricevuta := interfaccia.visualizzaErogato(richiesta);
label1.Caption := ricevuta.nre;
except
on E: Exception do
showmessage(E.Message);
end;
end;
Mi potete aiutare a capire dove sbaglio?