Fórum Array de objetos - WebService - Delphi #599879
19/01/2019
0
Bom dia,
Gostaria de saber se alguém poderia me ajudar na seguinte situação:
Estou fazendo uma integração com o web service da Jucesp, o qual exige dois níveis de autenticação: autenticação no servidor web e autenticação no SIL. Até ai tudo bem consegui fazer a conexão e também consigo fazer a maioria das consultas.
Porém tem alguns métodos ex: InformarInicioLicenciamentoAltoRisco que são passados parametros para ele e não estou conseguindo.
Se alguém puder me demonstrar como chamar o método corretamente e passar os parâmetros eu agradeço muito.
Código que não funciona abaixo:
Gostaria de saber se alguém poderia me ajudar na seguinte situação:
Estou fazendo uma integração com o web service da Jucesp, o qual exige dois níveis de autenticação: autenticação no servidor web e autenticação no SIL. Até ai tudo bem consegui fazer a conexão e também consigo fazer a maioria das consultas.
Porém tem alguns métodos ex: InformarInicioLicenciamentoAltoRisco que são passados parametros para ele e não estou conseguindo.
Se alguém puder me demonstrar como chamar o método corretamente e passar os parâmetros eu agradeço muito.
function InformarInicioLicenciamentoAltoRisco(const parameters: InformarInicioLicenciamentoAltoRiscoRequest): InformarInicioLicenciamentoAltoRiscoResponse; stdcall;
-------------------------------------------------------------------
InformarInicioLicenciamentoAltoRiscoRequest = class(TRemotable)
private
FParametros: ArrayOfInformarInicioLicenciamentoAltoRiscoParameters;
FParametros_Specified: boolean;
procedure SetParametros(Index: Integer; const AArrayOfInformarInicioLicenciamentoAltoRiscoParameters: ArrayOfInformarInicioLicenciamentoAltoRiscoParameters);
function Parametros_Specified(Index: Integer): boolean;
public
constructor Create; override;
destructor Destroy; override;
published
property Parametros: ArrayOfInformarInicioLicenciamentoAltoRiscoParameters Index (IS_OPTN) read FParametros write SetParametros stored Parametros_Specified;
end;
-----------------------------------------------------------------
InformarInicioLicenciamentoAltoRiscoResponse = class(TRemotable)
private
FResultados: ArrayOfItemTransacao;
FResultados_Specified: boolean;
FResultCode: Integer;
FResultDescription: string;
FResultDescription_Specified: boolean;
procedure SetResultados(Index: Integer; const AArrayOfItemTransacao: ArrayOfItemTransacao);
function Resultados_Specified(Index: Integer): boolean;
procedure SetResultDescription(Index: Integer; const Astring: string);
function ResultDescription_Specified(Index: Integer): boolean;
public
constructor Create; override;
destructor Destroy; override;
published
property Resultados: ArrayOfItemTransacao Index (IS_OPTN) read FResultados write SetResultados stored Resultados_Specified;
property ResultCode: Integer read FResultCode write FResultCode;
property ResultDescription: string Index (IS_OPTN) read FResultDescription write SetResultDescription stored ResultDescription_Specified;
end;
-------------------------------------------------
InformarInicioLicenciamentoAltoRiscoParameters = class(TRemotable)
private
FProtocolo: string;
FProtocolo_Specified: boolean;
FInicioAtendimento: TXSDateTime;
FIdOrgao: Integer;
FProtocoloAtendimento: string;
FProtocoloAtendimento_Specified: boolean;
procedure SetProtocolo(Index: Integer; const Astring: string);
function Protocolo_Specified(Index: Integer): boolean;
procedure SetProtocoloAtendimento(Index: Integer; const Astring: string);
function ProtocoloAtendimento_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property Protocolo: string Index (IS_OPTN) read FProtocolo write SetProtocolo stored Protocolo_Specified;
property InicioAtendimento: TXSDateTime read FInicioAtendimento write FInicioAtendimento;
property IdOrgao: Integer read FIdOrgao write FIdOrgao;
property ProtocoloAtendimento: string Index (IS_OPTN) read FProtocoloAtendimento write SetProtocoloAtendimento stored ProtocoloAtendimento_Specified;
end;
Código que não funciona abaixo:
procedure TForm1.Button3Click(Sender: TObject);
var
funcaoenvio : InformarInicioLicenciamentoAltoRiscoRequest;
funcaoparamentros : InformarInicioLicenciamentoAltoRiscoParameters;
tempo : TXSDateTime;
begin
Tempo := TXSDateTime(FormatDateTime('YYYY-MM-DD-T',now));
funcaoenvio := InformarInicioLicenciamentoAltoRiscoRequest.Create;
funcaoparamentros := InformarInicioLicenciamentoAltoRiscoParameters.Create;
funcaoparamentros.Protocolo := '1659780201895';
funcaoparamentros.InicioAtendimento := tempo ;
funcaoparamentros.IdOrgao:= 464 ; //id do orgão
funcaoparamentros.ProtocoloAtendimento:= '19384/2018';
//Dessa forma abaixo a aplicação da erro na execução
//funcaoenvio.Parametros[0].Protocolo:= '1659780201895';
// funcaoenvio.Parametros[0].InicioAtendimento:= tempo;
// funcaoenvio.Parametros[0].IdOrgao:= 464 ;
//funcaoenvio.Parametros[0].ProtocoloAtendimento:= '19384/2018';
showmessage( inttostr(GetIOperacionais.InformarInicioLicenciamentoAltoRisco(funcaoenvio).ResultCode) );
end;
Augusto Tiago
Curtir tópico
+ 2
Responder
Post mais votado
21/01/2019
Depois de muito quebrar a cabeça consegui Resolver.
Pode encerrar o tópico.
Obrigado
Pode encerrar o tópico.
Obrigado
Augusto Tiago
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)