Array de objetos - WebService - Delphi
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
Clique aqui para fazer login e interagir na Comunidade :)