Problema consulta status da NFe 2.0

39 respostas
A

Boa tarde pessoal, estou tendo problemas com a consulta status da versão 2.0 no PR.
Segue abaixo meu xml de consulta :

<?xml version="1.0" encoding="UTF-8" ?>
<nfeDadosMsg>
<consStatServ versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<tpAmb>2</tpAmb>
<cUF>41</cUF>
<xServ>STATUS</xServ>
</consStatServ>
</nfeDadosMsg>
Retorna a seguinte mensagem :

org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI

at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:89)

at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:326)

at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)

at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)

Já fiz teste com RS, SVRS e MS e todos estão consultando perfeitamente. Só tive problemas com o paraná mesmo.

39 Respostas

A

Alguém sabe me dizer o que pode ser essa mensagem :

" Transport level information does not match with SOAP Message namespace URI "

N

Olá acmedis,

Realizei um teste e o retorno foi o seguinte

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 23 Nov 2010 12:39:56 GMT

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header>
<nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'>
<cUF>41</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</env:Header>
<env:Body>
<nfeStatusServicoNF2Result xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2'>
<retConsStatServ versao='2.00' xmlns='http://www.portalfiscal.inf.br/nfe'>
<tpAmb>2</tpAmb>
<verAplic>PR-m4.0.1-v2_0_4</verAplic>
<cStat>107</cStat>
<xMotivo>Serviço em Operação</xMotivo>
<cUF>41</cUF>
<dhRecbto>2010-11-23T10:39:56</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>
</nfeStatusServicoNF2Result>
</env:Body>
</env:Envelope>

O problema é que eles estão encapsulando a mensagem de resposta como sendo SOAP 1.2 Content-Type: application/soap+xml;charset=UTF-8
mas a mensagem soap utiliza namespace do SOAP 1.1 <env:Envelope xmlns:env=‘http://schemas.xmlsoap.org/soap/envelope/’>
Como o axis2 valida se o content-type da requisição da versão de soap utilizada bate com o namespace que descreve a versão de soap corrente, emite a exceção:
org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI

O correto seria eles devolverem <env:Envelope xmlns:env=“http://www.w3.org/2003/05/soap-envelope”>

A

nessinhavos obrigado pelo retorno.
Você pode me ajudar como solucionar isso? Como devo proceder ?

N

Acredito que o melhor a ser feito é informar o problema a SEFAZ-PR.
Não sei te dizer como fazer para retirar essa validação do axis2 :?

Padrão para mensagem SOAP 1.1
Content-Type: text/xml; charset=utf-8
namespace: ‘http://schemas.xmlsoap.org/soap/envelope/

Padrão para mensagem SOAP 1.2
Content-Type: application/soap+xml;charset=UTF-8
namespace: ‘http://www.w3.org/2003/05/soap-envelope

Eu faço teste de conexao utilizando um método que dispara por url… monto o envelope na mão…

public static String runWebService(String envelope, String urlAddress) {
        String result = "";

        try {
            MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPMessage message;

            try {
                message = factory.createMessage(null, new ByteArrayInputStream(envelope.getBytes()));
                SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();
                URL url = new URL(urlAddress);

                SOAPMessage res = con.call(message, url);

                ByteArrayOutputStream out = new ByteArrayOutputStream();

                res.writeTo(out);

                result = out.toString();

            } catch (IOException ex) {
                ex.printStackTrace();
            }
        } catch (SOAPException ex) {
            ex.printStackTrace();
        }
        return result;
    }

Envelope:

<?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Header><nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"><cUF>41</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></s:Header><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"><consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><cUF>41</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></s:Body></s:Envelope>

Espero ter ajudado :slight_smile:

A

Com o PR funcionou perfeitamente, dessa forma que vc passou.
Mas agora estou tendo problema com SVRS e RS. Pois tenho clientes que vão usar no PR , SC e RS.
A mensagem de erro do RS é :

com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@a56a7c
23/11/2010 15:29:45 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
GRAVE: SAAJ0009: Message send failed
java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed

Tem idéia do que pode ser?

N

Qual a versao do java q esta utilizando?
A partir da versao 6.19 começou a dar problema quando o WS é em .NET…

tenta resolver assim:

http://www.guj.com.br/posts/list/555/72325.java#1042772

testei e aqui funcionou…

A

pessoal,
eu não fiz na mão, estou usando o Axis2 para enviar…
mas qdo estou consumindo o serviço de consuta de status, esta dando timeout…
qdo consulto a disponibilidade do serviço no site portal da nfe de homologação, mostra que o PR esta vermelho
http://hom.nfe.fazenda.gov.br/PORTAL/VerificacaoDeServicos/VerificacaoServicos.aspx
qual é a url usada por vcs para consumir o serviço?
eu estou usando https://200.189.113.251:8543/nfe/NFeStatusServico2, que é que esta no wsdl…

N

Olá Felipe

estou usando https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2

A

nessinhavos

Funcionou perfeitamente, valeu mais uma vez.

A

nessinhavos:
Olá Felipe

estou usando https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2


cara…ta tudo meio estranho aqui… haha
no wsdl que peguei https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2?wsdl mosta

soap12:address location="https://200.189.113.251:8543/nfe/NFeStatusServico2" /> usando isso da timeout…
e usando o endereço que vc me passou tenho outros erros
1 - usando o Axis2:

org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI

2- usando o código acima:

javax.xml.soap.SOAPException: org.apache.axiom.soap.SOAPProcessingException: Disallowed element found inside Envelope : {http://www.w3.org/2003/05/soap-envelope}Header

mas no axis2 tb é definido o namespace http://www.w3.org/2003/05/soap-envelope
tem alguma dica?

A

nessinhavos, estou mudando o sistema para montar o envelope na mão.

Mas estou com algumas dificuldades, vc pode me passar como ficaria os dados a serem enviados.
Igual ao seu exemplo do envelope da consulta status, não precisa ser o conteúdo completo.
Imagino que com essa informação eu consiga terminar o projeto.

até mais …

N

Olá acmedis,

Uma possibilidade é criar uma template tipo assim

String msg = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
                    "<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" >"
                    + "<env:Header>"
                    + "<nfeCabecMsg xmlns=\"{0}\">"
                    + "<cUF>{3}</cUF>"
                    + "<versaoDados>{2}</versaoDados>"
                    + "</nfeCabecMsg>"
                    + "</env:Header>"
                    + "<env:Body>"
                    + "<nfeDadosMsg xmlns=\"{0}\">{1}</nfeDadosMsg>"
                    + "</env:Body>"
                    + "</env:Envelope>";

String xml; //conteudo xml
String envelope = MessageFormat.format(msg, "http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2", xml, "2.00", "41" );

dai é só passar o namespace, o arquivo xml, versao e o cUF de acordo com o serviço…
Mas seguinte, acredito que o WS nao esta ok pois deveria funcionar com axis2 tb…

N

Felipe,

por esse erro q vc teve com o codigo de exemplo nunca passei :?
mas parece q tem alguma coisa errada na montagem do envelope… aparentemente é no header da msg soap…
da uma conferida… qq coisa manda o stack trace completo e o envelope q gerou…

S

A Sefa/PR resolveu o problema da versão do SOAP (aparentemente), ao menos pra mim passou a funcionar sem alterar nada (ou quase nada, ainda tem que replicar o namespace na tag NFe para poder enviar os lotes). Mas ainda tem bug por lá, estão retornando XML do protoclo com Id p/ assinatura igual ao da NF, quando monta o arquivo de compartilhamento, fica com 2 dando erro de esquema ao validar o XML. Ainda no aguardo deles resolverem a pendenga :slight_smile:

A

nessinhavos, valeu pela resposta.
Eu tinha feito de outra forma mas o resultado foi o mesmo que vc passou.
Abaixo esta uma parte do xml da nota

<?xml version="1.0" encoding="UTF-8"?>
<enviNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"><idLote>1</idLote> ... </enviNFe>  com assinado.

e quando eu passo pelo MessageFormat.format esta ficando com a informação <?xml version="1.0" encoding="UTF-8"?> no inicio da string e depois da tag .

<?xml version="1.0" encoding="UTF-8" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ><env:Header><nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"><cUF>41</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></env:Header><env:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"><?xml version="1.0" encoding="UTF-8"?>
<enviNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"><idLote>1</idLote> ...

O que eu gostaria de saber agora é de que forma consigo tirar essa segunda informação do XML, porque está ficando duplicado e ocasionando erro.

com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
WARNING: SAAJ0014: Invalid reply message. Content length of reply was zero.
java.util.concurrent.ExecutionException: java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException

S

Antes de gerar o XML a partir do document, defina setXmlStandalone(false)

N

ola skaplon

realmente corrigiram o problema hoje :slight_smile:

<env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope'>
<env:Header xmlns:env='http://www.w3.org/2003/05/soap-envelope'>
<nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'>
<cUF>41</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</env:Header>
<env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'>
<nfeStatusServicoNF2Result xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2'>
<retConsStatServ versao='2.00' xmlns='http://www.portalfiscal.inf.br/nfe'>
<tpAmb>2</tpAmb>
<verAplic>PR-m4.0.1-v2_0_7</verAplic>
<cStat>107</cStat>
<xMotivo>Serviço em Operação</xMotivo>
<cUF>41</cUF>
<dhRecbto>2010-11-25T11:49:49</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>
</nfeStatusServicoNF2Result>
</env:Body>
</env:Envelope>

a disponibilidade esta ok http://hom.nfe.fazenda.gov.br/PORTAL/VerificacaoDeServicos/VerificacaoServicos.aspx
agora funciona no axis2 :wink:

S

E já resolveram o problema do Id também, notei que na sua chamada a versão do programa é diferente, fui tentar de novo e gerou certo :smiley:

A

Consegui transmitir a nota, porem esta retornando com rejeição : 999 Erro nao catalogado.

Alguém conseguiu autorizar alguma nota?

A

Então nessinhavos … como o amigo falou… hj eu rodei meu teste de consulta de status e consegui obter o retorno…
pra variar, alguns probleminhas com PR…
brigadão;… :slight_smile:

S

Erro não catalogado = falta namespace na tag NFe (sim, tem q por no nodo raiz e “forçar” no(s) nodo(s) da(s) nota(s) também)

Ainda um problema persiste: se usar o serviço 2.0 para consultar uma chave de acesso que foi autorizada pelo serviço 1.0, diz que não encontra a nf-e na base
RS funciona certinho, tanto de 1.0 -> 2.0 quanto 2.0 -> 1.0

A

O meu xml esta indo assim :

<?xml version="1.0" encoding="UTF-8"?>
<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
<idLote>1</idLote>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe Id="NFe41101176748284000160550060000000271463584707" versao="2.00">
<ide>
<cUF>41</cUF><cNF>46358470</cNF><natOp>VENDAS DE INDUSTRIALIZACAO P/ UF</natOp><indPag>1</indPag><mod>55</mod><serie>6</serie><nNF>27</nNF><dEmi>2010-11-25</dEmi><tpNF>1</tpNF><cMunFG>4104808</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>7</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>3</verProc>
</ide>
S

Parece correto, mas esse não é com o envelope SOAP, poste aí a requisição por completo

A

Esse XML acima não foi usando envelope.
Foi usando as classes geradas pelo wsdl.

S

Isso eu sei, mas ao chamar o serviço as classes fazem o envelopamento para você, e é isso o que eu queria ver, deve ter algum log do processo.
No meu caso eu passo assim na linha de comando: java -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true programa
Se vc usa JBoss, coloque isso

run.conf (linux)

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true"

run.conf.bat (windows)

set “JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true”

A

Quando estou depurando a classe NfeRecepcao2Stub - método nfeRecepcaoLote2

if (nfeCabecMsg1 != null) {

org.apache.axiom.om.OMElement omElementnfeCabecMsg1 = toOM(nfeCabecMsg1, optimizeContent(new javax.xml.namespace.QName(“<a href="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2">http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2</a>”, “nfeRecepcaoLote2”)));

addHeader(omElementnfeCabecMsg1, env);

}

Consigo verificar a informação do omElementnfeCabecMsg1
<ns4:nfeCabecMsg xmlns:ns4=“http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2”>ns4:cUF41</ns4:cUF>ns4:versaoDados2.00</ns4:versaoDados></ns4:nfeCabecMsg>

Porem a informação do objeto env não consigo visualizar, pois sempre causa uma exceção conforme abaixo:

Exception occurred in target VM: Error obtaining parser from data source:the prefix ==>  Already exists for namespace ==> <a href="http://www.portalfiscal.inf.br/nfe">http://www.portalfiscal.inf.br/nfe</a>

java.lang.RuntimeException: Error obtaining parser from data source:the prefix ==>  Already exists for namespace ==> <a href="http://www.portalfiscal.inf.br/nfe">http://www.portalfiscal.inf.br/nfe</a>

at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:134)

at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:152)

at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:568)

at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:772)

at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)

at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:210)

at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)

at org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)

at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:913)

at nfe.nferecepcao2.NfeRecepcao2Stub.nfeRecepcaoLote2(NfeRecepcao2Stub.java:105)

at controle.Comunicacao.enviar(Comunicacao.java:102)

at threads.ThreadEnvio$1.call(ThreadEnvio.java:35)

at threads.ThreadEnvio$1.call(ThreadEnvio.java:32)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:619)

A classe NfeRetRecepcao2Stub consigo verificar as informações perfeitamente dos objetos.

S

acmedis:
Quando estou depurando a classe NfeRecepcao2Stub - método nfeRecepcaoLote2

<ns4:nfeCabecMsg xmlns:ns4="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"><ns4:cUF>41</ns4:cUF><ns4:versaoDados>2.00</ns4:versaoDados></ns4:nfeCabecMsg>

Acho que seu problema é esses prefixos de namespace no XML

A

Qual seria a informação correta desses prefixos?
Preciso deixar sem a informação?

S

Deixar sem, o manual explicitamente proíbe o uso de prefixos XML
Acho que o único prefixo aceito é o do envelope, mas esse é um que seria muito difícil mexer na maioria dos frameworks.
Na prática acho que proíbem pq os frameworks de SP/RS em ASP não entendem isso :lol:

A

Quando eu deixo sem a informação do prefixo, a nota é transmitida porém quando eu consulta o recibo
retorna o sempre o xml abaixo :

<retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><verAplic>PR-m4.0.1-v2_0_10</verAplic><nRec>411000000288516</nRec><cStat>104</cStat><xMotivo>Lote processado</xMotivo><cUF>41</cUF></retConsReciNFe>

Ou seja, não vem a informação se nota foi autorizada ou rejeitada. Fica retornando esse XML sempre que faço a consulta.

Outra dica que eu possa fazer ?

S

:shock:
Esse log está sendo obtido de que maneira? Se não for imediatamente após receber os dados (como aquele q eu postei que ativa por linha de comando), pode ser que alguma parte da sua stack esteje tirando fora o nodo. Fiz um teste agora com a SEFA e retornou certinho:
Envio da consulta:

10:31:10,445 INFO [STDOUT] <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"><S:Header><nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao2"><cUF>41</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></S:Header><S:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao2"><consReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><nRec>411000000288660</nRec></consReciNFe></nfeDadosMsg></S:Body></S:Envelope>
Retorno:

10:31:10,774 INFO  [STDOUT] <env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope'><env:Header xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'><cUF>41</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></env:Header><env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeRetRecepcao2Result xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao2'><retConsReciNFe versao='2.00' xmlns='http://www.portalfiscal.inf.br/nfe'><tpAmb>2</tpAmb><verAplic>PR-m4.0.1-v2_0_10</verAplic><nRec>411000000288660</nRec><cStat>104</cStat><xMotivo>Lote processado</xMotivo><cUF>41</cUF><protNFe versao='2.00'><infProt><tpAmb>2</tpAmb><verAplic>PR-m4.0.1-v2_0_10</verAplic><chNFe>41101105825083000171550010000002161002642562</chNFe><dhRecbto>2010-11-30T10:31:14</dhRecbto><nProt>141100000610008</nProt><digVal>imAnxHD96fh0Z0l0gJnyeTNv0e8=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e</xMotivo></infProt></protNFe></retConsReciNFe></nfeRetRecepcao2Result></env:Body></env:Envelope>
A

Estou fazendo alguns testes criando e envelope manualmente. Dessa forma esta funcionando perfeitamente, envio da NFe e a consulta do envio.
Eu fiz da forma que o nessinhavos sugeriu, que é criando um template e atribuindo os valores.

Conforme código abaixo:

configurarSSL();

String txt = AssinaturaDigital.assinarEnviNFe(xmlNFe, codigoUF);

String msg = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
		+ "<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\" >"
		+ "<env:Header>"
		+ "<nfeCabecMsg xmlns=\"{0}\">"
		+ "<cUF>{3}</cUF>"
		+ "<versaoDados>{2}</versaoDados>"
		+ "</nfeCabecMsg>"
		+ "</env:Header>"
		+ "<env:Body>"
		+ "<nfeDadosMsg xmlns=\"{0}\">{1}</nfeDadosMsg>"
		+ "</env:Body>"
		+ "</env:Envelope>";

envelope = MessageFormat.format(msg, "http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2",
			txt, "2.00", String.valueOf(codEstado));

header = new MimeHeaders();
header.addHeader("Content-Type", "application/soap+xml");

message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes()));
con = SOAPConnectionFactory.newInstance().createConnection();

O meu único problema agora é o seguinte: quando eu faço a assinatura no meu XML ele retorna uma string com a seguinte informação no inicio da String :

<?xml version="1.0" encoding="UTF-8" ?>

E quando é atribuido todas as informações a String msg, fica essa identificação duplicada na string.
Essa dúvida eu já havia postado, porem a solução que foi passada não resolveu meu problema.
Teria alguma outra forma para eu resolver isso.
É a unica coisa que falta para finalizar essa questão.

Desde já agradeço a todos pela atenção.

S

Pode ser essa a causa, o serviço no Paraná faz coisas estranhas quando não se entende com a assinatura
Tente fazer um replace na string mesmo antes de aplicar o seu template

A

30/11/2010

O Ato Cotepe/ICMS n. 36/2010, de 24 de novembro de 2010, publicado no DOU de 30/11/2010, revoga, a partir de 1º de abril de 2011, o uso das disposições técnicas previstas no Manual de Integração da Nota Fiscal Eletrônica - NF-e, Versão 3.0.
http://www.fazenda.pr.gov.br/modules/noticias/article.php?storyid=188&tit=NF-e-prorrogacao-do-prazo-para-o-uso-da-versao-1.10-do-xml

F

O problema da vez, eh: quando gero as classes via WSDL vem com uma URL errada, corrigi conforme esta no site da SEFA:

NOTA 2 = Após a montagem do consumidor do serviço Web Service, se o endereço de requisição montado estiver no formato ip:porta, substituir pelo DNS homologacao.nfe2.fazenda.pr.gov.br .

Porem me retorna erro, de time-out na URL q corrigi:

Invoking nfeStatusServicoNF2...

Caused by: java.net.ConnectException: ConnectException invoking https://200.189.113.250:8543/nfe/NFeStatusServico2: Connection timed out: connect

Alguem tem alguma ideia?

S

A sefaz do paraná parece estar fora do ar no momento

A

pessoal,
alguém esta conseguindo enviar lote para o PR (NFe 2.0)?
na real eu consigo enviar, fala que recebeu com sucesso, mas quando eu faço uma consulta por chave de acesso recebo a seguinte msg:

...<cStat>215</cStat><xMotivo>Falha no schema XML. org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'NFe'.</xMotivo>...

degubando o meu sistema, percebi que o Message criado fica sem o namespace xmlns=“http://www.portalfiscal.inf.br/nfe” na tag nfe…
alguém conseguiu consumir com sucesso o serviço?

S

Sim, você precisa colocar o namespace novamente na tag NF-e para enviar corretamente.

A

e qual é o segredo para colocar o namespace? :lol:

Criado 22 de novembro de 2010
Ultima resposta 10 de fev. de 2011
Respostas 39
Participantes 5