Fórum Erro Farmácia Popular Processo de Pesquisa de Transações #404536
07/07/2011
0
Estou com um grande problema quando vou realizar o processo de pesquisa de transações no WebService do DataSys, estou utilizando o seguinte código:
var
wDataSUS : ServicoSolicitacaoWS ;
Autorizacao : RetornoPesquisaDTO;
Usuario : UsuarioFarmaciaDTO;
Pesquisa : PesquisaDTO;
medicamentos : arrayofitempesquisadto;
datai,dataf : TDate;
i : integer;
begin
application.CreateForm(tpesquisa_web, pesquisa_web);
pesquisa_web.showmodal;
datai := pesquisa_web.DateTimePicker1.Date;
dataf := pesquisa_web.DateTimePicker2.Date;
pesquisa_web.Release;
pesquisa_web := nil;
if acao = false then exit;
modulos.qrfunc.Open;
modulos.qrfunc.Locate('codigo',modulos.qrfuncCODIGO.AsString,[]);
if ini_ambiente = 1 then begin
HTTPRIO1.URL := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS';
HTTPRIO1.WSDLLocation := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl';
end
else begin
HTTPRIO1.URL := 'https://200.214.130.55:9443/farmaciapopular/services/ServicoSolicitacaoWS';
HTTPRIO1.WSDLLocation := 'https://200.214.130.55:9443/farmaciapopular/services/ServicoSolicitacaoWS?wsdl';
end;
HTTPRIO1.Service := 'ServicoSolicitacaoWSService';
HTTPRIO1.Port := 'ServicoSolicitacaoWS';
wDaTaSUS := HTTPRIO1 AS ServicoSolicitacaoWS ;
Usuario := UsuarioFarmaciaDTO.Create;
Usuario.usuarioFarmacia := ini_farm_codigo;
Usuario.senhaFarmacia := ini_farm_senha ;
Usuario.usuarioVendedor := trim(corrige(modulos.qrfunccpf.asstring));
Usuario.senhaVendedor:= trim(modulos.qrfuncACESSO_FPOP.asstring);
Pesquisa := PesquisaDTO.Create;
Pesquisa.nuCnpj := corrige(modulos.qrempresacnpj.asstring);
Pesquisa.dataInicio := TXSDateTime.Create;
Pesquisa.dataInicio.AsDateTime := datai;
Pesquisa.dataFim := TXSDateTime.Create;
Pesquisa.dataFim.AsDateTime := dataf;
Pesquisa.numeroPagina := 1;
Pesquisa.statusTransacao := '2F';
Pesquisa.nuCnpjMatriz := corrige(modulos.qrempresacnpj.asstring);
Autorizacao := RetornoPesquisaDTO.Create;
Autorizacao.arrItemPesquisaDTO := medicamentos;
Autorizacao := wDataSUS.pesquisarAutorizacoes(Pesquisa,Usuario);
if ((Autorizacao.codigoRetorno = '00P') or (Autorizacao.codigoRetorno = '01P')) then begin
relatorio('LIMPA');
relatorio('CAB');
relatorio('<BR><B>Relatório de Autorizações - Farmácia Popular</B><br>');
relatorio('Período: '+formatdatetime('dd/mm/yyyy',datai)+' a '+formatdatetime('dd/mm/yyyy',dataf)+'<br><br><br>');
relatorio('Pesquisa realizada com sucesso.<bR>');
relatorio('<table border =1>');
relatorio('<tr><td>'+Autorizacao.arrItemPesquisaDTO[1].nuCpf+'</td></tr>');
relatorio(Autorizacao.mensagemRetorno);
for I := 0 to Length(Autorizacao.arrItemPesquisaDTO)-1 do
if Assigned(Autorizacao.arrItemPesquisaDTO[I]) then begin
relatorio(autorizacao.arrItemPesquisaDTO[I].nuCupomFiscal+'<br>');
Autorizacao.arrItemPesquisaDTO[I].Free;
end;
relatorio('SALVA');
end
else begin
relatorio('LIMPA');
relatorio('CAB');
relatorio('<BR><B>Relatório de Autorizações - Farmácia Popular</B><br>');
relatorio('Período: '+formatdatetime('dd/mm/yyyy',datai)+' a '+formatdatetime('dd/mm/yyyy',dataf)+'<br><br><br>');
relatorio(Autorizacao.codigoRetorno+'-'+Autorizacao.mensagemRetorno);
relatorio('SALVA');
end;
Sempre que vai realizar a consulta ao webservice para pesquisar as Autorizações, está me retornando o seguinte erro:
br.gov.datasus.farmaciapopular.modelo.excecao.DAOException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer-
Já pesquisei e realizei vários testes, se deixar de passar alguma parametro no Pesquisa até que retorna as mensagens de erro do webservices, mas quando mando tudo certinho, dá, esse erro de JAVA. Já gastei todas as minhas opções, se alguém tiver uma idéia para me ajudar, fico muito agradecido.
Yomega Software
Curtir tópico
+ 0Posts
14/07/2011
Jean Peixoto
Gostei + 0
29/02/2012
Paulo Vitor
Gostei + 0
09/05/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)