Base de conhecimento

Falha ao parsear o XML descompactado de distribuicao - Como resolver?

3 minutos de leitura
Copiar

Exemplo

No log do serviço do Distribuição MDe é aprensetando o seguinte trecho de falha:

2022-12-28 09:40:34.274 [ERROR 26970210000104-NFE-CONS_CHAVE_ACESSO] 3448 --- [consulta_dist-10] b.c.o.m.x.w.n.d.V101.XmlRetDistNFeV101   : Falha ao parsear o XML descompactado de distribuicao

br.com.oobj.model.xml.wrapper.support.XmlWrapperException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at br.com.oobj.model.xml.wrapper.nfe.dist.V101.XmlWrapperDistNFeFactoryV101.getXmlDocDist(XmlWrapperDistNFeFactoryV101.java:113)
	at br.com.oobj.model.xml.wrapper.nfe.dist.V101.XmlRetDistNFeV101.getXmlDocs(XmlRetDistNFeV101.java:192)
	at br.com.oobj.model.xml.wrapper.DFeXmlWrapperToEntity.buildProcDist(DFeXmlWrapperToEntity.java:327)
	at br.com.oobj.model.xml.wrapper.DFeXmlWrapperToEntity.buildProcDist(DFeXmlWrapperToEntity.java:302)
	at br.com.oobj.mde.consulta.impl.ConsultaDistribuicaoService.salvar(ConsultaDistribuicaoService.java:174)
	at br.com.oobj.mde.consulta.impl.ConsultaDistribuicaoService.consultar(ConsultaDistribuicaoService.java:114)
	at br.com.oobj.mde.consulta.impl.ConsultaServiceImpl.consultar(ConsultaServiceImpl.java:53)
	at br.com.oobj.mde.consulta.ConsultaJmsListener.onMessage(ConsultaJmsListener.java:63)
	at sun.reflect.GeneratedMethodAccessor195.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:180)
	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:112)
	at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:104)
	at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:69)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:719)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:679)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:649)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:317)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1168)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1160)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1057)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1927)
	at br.com.oobj.util.xmltransform.XmlUtil.alterarTagConteudo(XmlUtil.java:164)
	at br.com.oobj.model.xml.wrapper.IXmlWrapperDistDFeFactory.tratarEComercialPreservandoAssinatura(IXmlWrapperDistDFeFactory.java:152)
	at br.com.oobj.model.xml.wrapper.nfe.dist.V101.XmlWrapperDistNFeFactoryV101.getXmlDocDist(XmlWrapperDistNFeFactoryV101.java:87)
	... 23 common frames omitted

 

Motivos mapeados

  • Esse erro é causado devido ao certificado digital que está configurado na empresa com 4kb.

 

Como resolver?

 

Para corrigir basta exportar e importar o certificado novamente para o monitor com a cadeia completa(entre 8 e 10kb).

Siga as instruções para configurar o certificado corretamente:

Após a configuração do certificado, basta reiniciar o serviço do Distribuição MDe 

Não encontrou o que procurava?