Problemas envio da NFE: 588 - Rejeição: não é permitida a presença de caracteres...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
evandromib
JavaChild
[Avatar]

Membro desde: 28/01/2009 14:47:30
Mensagens: 100
Offline

entao tb sempre utilizei o axis2 e sempre funcionou dentro desses parametros

qdo eu tiro a tag <nfeDadosMsg>

retorna

assinando pelo meu programa volta erro 588
se assino o xml com o programa do governo , volta erro de 225 - falha no schema de lote nfe

ta complicado a coisa rs

"N.A.S"
[Email]
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 259
Offline

Bom, tenta manter então essa tag, segue algumas coisas q fiz aqui, tenta implementar e ve se resolve:

antes de assinar


No seu assinador, se for parecido com o meu, existe um objeto transformer, q exporta o xml, eu setei alguns parametros:

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
evandromib
JavaChild
[Avatar]

Membro desde: 28/01/2009 14:47:30
Mensagens: 100
Offline

Valeu Rafael

fiz a remoção dos "\n" quebra de linha antes de assinar e consegui transmitir tranquilo e receber o protocolo de autorização sem erro

obrigado pela dicas se precisar estamos por aqui ( no aguardo de mais problemas rs )


"N.A.S"
[Email]
Andre271
What is classpath?

Membro desde: 19/09/2007 14:51:10
Mensagens: 5
Offline

Salve galera ...

estava com este mesmo problema e percebi que ao enviar o lote, no final tinha uma quebra de linha antes da última tag para fechar o XML de envio de lote, no caso a tag <enviNFe> (na versão antiga da NFe funfava, na 2.0 não).

daí pra resolver fiz o básico, retirei a quebra de linha do XML com um:


replaceAll("\n", "")


mas .. não funcionou .. continuou o mesmo problema ... quando eu visualizava o XML dentro do netbeans aparecia sem a quebra de linha, mas se eu "colava" o XML em um editor de texto a quebra de linha aparecia .. (glub !!)

pois resolvi o problema substituindo a mesma linha do replace por esta sintaxe:

.replaceAll( System.getProperty("line.separator"), "" )


daí funfou ... ah, e as quebras de linhas geradas na assinatura do XML não interferiram em nada ... este foi o meu problema quebra de linha e o replace que não funfou direito nao sei pq ...

abs!!

Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 259
Offline

André, existem quebras de linhas compostas por \r (CR ou carriage return) também
eu mandei um código logo acima q arranca "tudo essas m....." pra falar o bom português"


"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
cristiano.andrade
JavaChild

Membro desde: 12/11/2007 10:25:20
Mensagens: 113
Localização: Barrinha-SP
Offline

Pessoal,

O meu arquivo eu gero normal e transmito com os \n da assinatura e autoriza normalmente.

O problema que eu tive com a Sefaz SP foi com um XML que eu estava enviando com a tag com espaços.

Ex:


Porém resolvendo isso. Todas as notas foram autorizadas.

[]s

Cristiano da Silva Andrade - Cristiano's Blog
[WWW]
jluio.trindade
Smalltalk
[Avatar]

Membro desde: 03/03/2008 12:38:51
Mensagens: 1
Offline

Bom dia a todos.

Gostaria de sabe se alguém pode me ajudar ainda a respeito deste erro 588.

O mais estranho no meu caso é que consigo enviar o lote de NFe normalmente e o webservice aceita,
porém quando tento chamar o serviço de retorno da recepçao o tal erro aparece.
Faz sentido isso ou eu to loco? rsrs

As questoes levantadas no tópico eu ja verifiquei. no caso meu xml que manda para obter o retorno esta como o chamado "linguicao" (rs)
sem espacos ou quebras de linha.

alem disso, só para constar, o servico que verifica o status do webservice tambem consegui implementar sem problemas e no entanto gero todos os xmls da mesma forma...


[]'s - Julio Trindade

[Email] [MSN]
wquintanilhadasilva
What is classpath?
[Avatar]

Membro desde: 23/06/2007 00:31:14
Mensagens: 5
Localização: Goiânia, GO
Offline

Boa tarde!

Estou enfrentando o mesmo problema.

Observando as especificações, foi publicada uma nota técnica (NT2010_009) que inclui a validação 588. Vide link: http://www.nfe.fazenda.gov.br/PORTAL/docs/NT2010.009.pdf. Neste mesmo documento está especificado que a princípio, esta validação seria feita apenas no ambiente de homologação.

Contudo, removi do xml enviado todas as formatações bem como os caracteres de edição informados na nota técnica e o problema persistiu.

Observei que a assinatura continha caracteres de retono de carro "\n" e também os removi do xml enviado. Porém a SEFAZ rejeitou a nota porque a assinatura difere da calculada - era de se esperar este resultado.

Já abri um chamado para a SEFAZ-GO (já que não tenho o endereço de e-mail dos responsáveis pelo SCAN) questionando sobre este problema, mas gostaria de saber se alguém já conseguiu solucionar este problema? poderiam dar um help?

Agradeço antecipadamente.

Att.

Se você acha que está difícil? espere até entrar em produção.....
hehehe
[MSN]
wquintanilhadasilva
What is classpath?
[Avatar]

Membro desde: 23/06/2007 00:31:14
Mensagens: 5
Localização: Goiânia, GO
Offline

Bom, incrível como a comunidade java é desunida, aposto que muitos já conseguiram solucionar este problema , mas cada um que se vire né?!

Nem adianta falar que já postou que resolveu utilizando isso ou aquilo. Fazer somente isso e nada é a mesma coisa. Como diz Linus Torvalds: "show me the code".

Pois eh galera, sobre este erro, o meu XML não continha os caracteres de edição conforme o SCAN validara (isso mesmo, essa rejeição só aparecia no ambiente de homologação do SCAN).

Como sempre, a SEFAZ não respondeu à minhas dúvidas e tive que me virar - novamente...

O problema de rejeição 588 só acontecia porque o algorítimo e componentes que utilizava para assinar (ou assassinar, como preferir...) o XML gerava a assinatura com caracteres de quebra de linha entre as tags [i]internasdo elemento <signature>. Os valores das tags de assinatura podem ter quebras de linha ("\n") normalmente, mas entre as tags JAMAIS isso deve acontecer.

Enfim, utilizava a api Apache org.apache.xml.security para assinar (com o erro) e substitui o código pelos componentes do próprio java (javax.xml.crypto.dsig) e a coisa funfou....

No meu caso eu utilizo o HSM para manter o certificado mas depois de obtido, não muda em nada para quem adota outros modelos de certificados.

Final Code:



Espero ter ajudado. Vou almoçar!!

bye!





This message was edited 1 time. Last update was at 17/02/2011 12:51:11


Se você acha que está difícil? espere até entrar em produção.....
hehehe
[MSN]
mmartinewski
Smalltalk

Membro desde: 18/08/2009 09:23:36
Mensagens: 2
Offline

A pergunta é meio antiga, mas é melhor responder mesmo assim.
Eu resolvi o problema removendo a identação do xml, conforme o exemplo abaixo:

Antes tava assim e dava erro:



Agora está assim e não dá mais erro:



Mesmo que tardia fica a resposta para registro.
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team