Erro Farmácia Popular Processo de Pesquisa de Transações
Olá para todos.
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.
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
Curtidas 0
Respostas
Jean Peixoto
07/07/2011
Boa tarde amigo,
Estou recebendo este mesmo erro q vc esta recebendo:
br.gov.datasus.farmaciapopular.modelo.excecao.DAOException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
Ja descobriu o que é?
GOSTEI 0
Paulo Vitor
07/07/2011
Também estou na mesma situação, alguém descobriu ?
GOSTEI 0
José
07/07/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0