Ir para conteúdo
  • Cadastre-se

dev botao

Class Elisterror With Message 'list Index Out Of Bounds(0)'


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 3377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Saudações,

 

Estou implementando a NFSe para Divinópolis/MG que utiliza o provedor GovDigital, endereços:

 

Produção > https://ws.govdigital.com.br/ws/div

Homologação > https://homolog.govdigital.com.br/ws/div

 

O RPS está sendo gerado e aparentemente assinado, mas quando executa a unit 'ACBrNFEsWebServices' na function:

 

function TWebServices.Gera(ARps:Integer): Boolean;
begin
 self.GerarNfse.FNumeroRps := ARps;

 Result := Self.GerarNfse.Executar;

 if not (Result)
  then begin
   if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
    then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.GerarNfse.Msg);
   if Self.GerarNfse.Msg <> ''
    then raise Exception.Create(Self.GerarNfse.Msg)
    else raise Exception.Create('Erro Desconhecido ao Gerar NFS-e!')
  end;
end;
 

Ocorre o erro List Index Out Of Bounds na linha : Result := Self.GerarNfse.Executar;

 

enfim, passei muitas horas tentando resolver esta questão mas não estou conseguindo, se alguém puder me dar a sua opinião eu ficaria muito agradecido.

 

Vou anexar o arquivo XML da RPS em questão para ajudar na analise.

 

6A-Rps.xml

6A-Rps2.xml

6-ger-nfse.xml

6-ger-nfse-soap.xml

6-lista-nfse.xml

6-lista-nfse-soap.xml

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Juliano,

 

Favor atualizar os fontes e testar novamente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Juliano,

 

Em vez de utilizar o Gerar, tentou usar o Enviar?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Italo,

 

Fiz a mudança e o problema alterou, agora a mensagem é: Erro desconhecido ao enviar o lote!

 

Unit : ACBrNFSeWebServices

 

function TWebServices.Envia(ALote: String): Boolean;
begin
 self.Enviar.FNumeroLote := ALote;

 Result := Self.Enviar.Executar;

 if not (Result)
  then begin
   if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
    then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.Enviar.Msg);
   if Self.Enviar.Msg <> ''
    then raise Exception.Create(Self.Enviar.Msg)
    else raise Exception.Create('Erro Desconhecido ao Enviar o Lote!')
  end;

 

Ao invés de enviar todos os arquivos de retorno do GovDigital separadamente, vou compacta-los.

 

Desde já agradeço pela ajuda.

 

201501.rar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Juliano,

 

Favor atualizar os fontes e testar novamente com o Enviar e depois com o EnviarSincrono.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Boa a tarde a todos.

 

Estamos aqui a iniciar o processo de geração da NFS-e  da cidade de Divinópolis, assim com nosso colega Juliano.

 

Busquei todas as informações que pude encontrar aqui no forum, implementei o meu teste, e cheguei até esse tópico.

 

Aguardei alguns dias o posicionamento do Juliano, já que ele estava bem mais adiantado do que nós, porém não vi o posicionamento dele depois da última mensagem do Italio.

 

Estou parado no mesmo ponto, atualizei tudo hoje, e me deparei com a mesma falha, já mencionada pelo Juliano.

 

 

No caso do enviar normal a resposta é Cannot find dispatch method for {https://homolog.govdigital.com.br/ws/div}RecepcionarLoteRpsRequest

 

E no caso do EnviarSincrono não consegue montar o xml de retorno da erro  de "List Index of bounds (0)"  pelo  que  pude  acompanhar  a  variável  "FRetWS" esta  retornando  o  valor  de "</RecepcionarLoteRpsSincronoResponse>" .

 

Se puder me oferecer alguma orientação para solução já ficarei muito grato.

______________________________________________________

Nilton Olher Serafim
Analista de Sistema - Inovação Tecnologia 
Skype: nolher
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia nolher,

 

Esse provedor alem da cidade de Divinópolis possui mais 4 cidades, acredito que deve ser algum erro de implantação deles nessa cidade, ou algo que resolveram fazer diferente das demais.

 

Favor entrar em contato com o provedor e solicitar:

 

1. URLs de Homologação e de Produção;

2. NameSpace;

3. SoapAction para cada método: Envio, consulta, ...

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo,

 

O que consegui foi esse endereço:

https://govdigital.jira.com/wiki/pages/viewpage.action?pageId=12648453

 

Onde nos mostra as seguintes informações:

 

WSDLs e Endpoints

Outro ponto relevante são os arquivos WSDLs e os endpoints de integração. Para integrar com o gov, cada município terá 1 endpoint diferente o arquivo. Abaixo a relação:

Município
Endpoint podução
Endpoint Homologação
Itajubá https://ws.govdigital.com.br/ws/itj https://homolog.govdigital.com.br/ws/itj Poços de Caldas https://ws.govdigital.com.br/ws/pocos https://homolog.govdigital.com.br/ws/pocos Paracatu https://ws.govdigital.com.br/ws/pctu https://homolog.govdigital.com.br/ws/pctu Divinópolis https://ws.govdigital.com.br/ws/div https://homolog.govdigital.com.br/ws/div Lavras https://ws.govdigital.com.br/ws/lavr https://homolog.govdigital.com.br/ws/lavr Prata https://ws.govdigital.com.br/ws/prata https://homolog.govdigital.com.br/ws/prata São José da Lapa https://ws.govdigital.com.br/ws/sjl https://homolog.govdigital.com.br/ws/sjl

 

 

 

Serviços não implementados

No médio prazo todas as operações do padrão Abrasf serão implementados, entretanto, no momento possuímos somente 3 operações em produção:

Serviço
Implementado
GerarNfse Sim CancelarNfse Sim ConsultarLoteRps Não ConsultarNfseServicoPrestado Não ConsultarNfseServicoTomado Não ConsultarNfsePorFaixa Não ConsultarNfsePorRps Não RecepcionarLoteRps Não SubstituirNfse Não RecepcionarLoteRpsSincrono Sim

 

 

Como podemos observar nem todos os serviços estão disponíveis.

 

Mas, ainda estou aguardando um contato direto, para obter melhores informações.

 

 

Desde já agradeço a atenção, 

 

 

-------------------------------------------------------

Nilton Olher

 

 

______________________________________________________

Nilton Olher Serafim
Analista de Sistema - Inovação Tecnologia 
Skype: nolher
Link para o comentário
Compartilhar em outros sites

Olá, boa tarde a todos!

 

 

Entrei em contato com a empresa que esta trabalhando para a prefeitura de Divinópolis.

 

 

Me deram as seguintes informações:

 

Se ocorrer problema no envio, relacionado a assinatura digital atente para os detalhes abaixo:

 

1 - O problema em questão é que o arquivo Lote assinado contem assinatura inválida.

Não consigo saber porque a assinatura é invalida, isso é um processo de validação binária do arquivo.

São 3 os problemas mais comuns de assinatura inválida.

1.1 - O arquivo é alterado depois de assinatura

1.2 - Durante a manipulação ou envio pode acontecer erros de charset

1.3 - A informação da assinatura faz referencia à parte errada do xml

 

Existe um validador da receita muito bom para testes 

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/assinadoc/ValidadorAssinaturas.app/valida.aspx

 

 

2 - Precebi que no lote do contribuinte existe somente 1 nota. A funcionalidade RecepcionarRpsLote requer 2 assinaturas. É um erro muito comum a segunda assinatura modificar o conteudo da primeira e gerar o erro.

SUGIRO que use o metodo GerarNfse que requer somente 1 assinatura, pode facilitar o processo enquanto ele tenta fazer a primeira emissao.

 

 

 

Pois bem, o que pude perceber foi:

- O Xml gerado pelo Componente ACBr tem ligeiras diferenças, das quais não sei se fazem diferenças:

 

Componente ACBr

No incio do XML

<?xml version="1.0"?>
-<GerarNfseEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">
-<Rps>-<InfDeclaracaoPrestacaoServico>
-<Rps Id="rps23012015UNICA">
-<IdentificacaoRps>
 
Na assinatura :
 

XML gerado por eles:

No incio do XML

<?xml version="1.0" encoding="UTF-8"?>
-<GerarNfseEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">
-<Rps>-<InfDeclaracaoPrestacaoServico Id="Rps150">
-<Rps>-<IdentificacaoRps>

 

Na assinatura tem uma tag a mais

<X509SubjectName>CN=NOME EMPRESA,OU=(EM BRANCO),OU=(EM BRANCO),OU=(EM BRANCO),OU=(EM BRANCO),OU=(EM BRANCO),OU=000001002911048,OU=(EM BRANCO),O=ICP-Brasil,C=BR</X509SubjectName>

 

Segue em anexo os XML exemplo deles.

 

 

Aguardo contatos

 

 

 

 

 

 

test-cancelar-nf-abras-valido-sig.xml

test-lote-rps-sincrono-abrasf-valido-sig.xml

test-rps-abrasf-valido-sig.xml

______________________________________________________

Nilton Olher Serafim
Analista de Sistema - Inovação Tecnologia 
Skype: nolher
Link para o comentário
Compartilhar em outros sites

Olá bom dia a todos,

 

 

Mais uma informação adquirida, ao entrar no endereço com o wsdl, obtive o xml em anexo de retorno.

 

Em contato com o TI da prefeitura, eles alegam que não chegam nada no webservice.

 

Desde já agradeço a atenção, 

 

 

-------------------------------------------------------

Nilton Olher

Resposta do wsdl.xml

Editado por nolher

______________________________________________________

Nilton Olher Serafim
Analista de Sistema - Inovação Tecnologia 
Skype: nolher
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.