NFe 2.0

Senhores,

alguém já conseguiu enviar NF-e 2.0 para o WS do Ceará?

sempre que tento enviar me retorna o erro:

javax.xml.ws.WebServiceException: Port {http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2}NfeRecepcao2Soap not found.
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:326)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:317)
at javax.xml.ws.Service.getPort(Service.java:92)
(…)

já tentei utilizar passando NfeRecepcao2Soap12, porém daí retorna o mesmo erro, mas deste jeito:
javax.xml.ws.WebServiceException: Port {http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2}NfeRecepcao2Soap12 not found.

Outros WS como SVRS e BA estão OK.

Uma coisa que acho que está meio estranha é que no WSDL do Sefaz do Ceará tem o NfeRecepcao2Soap12 que utiliza o tipo NfeRecepcao2Soap, porém não tem um binding para NfeRecepcao2Soap.

O endereço é este: https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2?WSDL

Valeu!

Abraço,
Kasemodel

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:
view plaincopy to clipboardprint?

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

…215Falha no schema XML. org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element ‘NFe’.…
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?

Estou com o mesmo problema.
Até já desisti de utilizar os objetos do axis 2.
Estou criando os soapenvelope na mão. No código abaixo, stringComOxml contém a nfe ‘envelopada’, no formato:
“…env:Body234<infNFe Id…”
Note que há o namespace na tag NFe…
O problema é que se criar o SOapMessage a partir dessa string e logo abaixo imprimí-lo, fica sem o namespace

final ByteArrayInputStream inn = new ByteArrayInputStream(stringComOxml.getBytes());   
final MimeHeaders header = new MimeHeaders();     
header.addHeader("Content-Type", "application/soap+xml");     
javax.xml.soap.SOAPMessage message = factory.createMessage(header, inn);   
final ByteArrayOutputStream in = new ByteArrayOutputStream();     
message.writeTo(in);     
System.out.println("in :\n"+in.toString()); 

ingo_nh
cara não consegui fazer funcionar com o axis 2 para consumir o serviço do PR.
mas faz assim…
pego o código desse post http://www.guj.com.br/java/200171-consumir-webservice-soap-12
e baixa a lib XALAN e importa do seu projeto…
tem alguma coisa do java6 que não fica certo, ai importando essa lib, vai aparecer o namespace no elemento NFe…

abraco

Obrigado pelo retorno.
Nesse link que passaste, há implementações diferentes. Não devo usar o message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes())); e sim

 MessageFactory factory = MessageFactory.newInstance();   
       SOAPMessage message = factory.createMessage();   
       
       javax.xml.soap.SOAPElement element = message.getSOAPBody().addDocument(this.msgXmlDocumento);   
           
       this.nfeCabecMsg.setVersaoDados(Uteis.versaoOperacao(this.tipo));//pega a versao salva no meu banco   
       this.nfeCabecMsg.setCUF(Uteis.pegaUfEmpresa(this.empresa));//pega o estado da empresa emissora   
         
         
       this.nfeCabecMsg_prime = new NfeCabecMsgHolder(this.nfeCabecMsg);   
       this.elementoDadosMsg = element.getParentElement();   

?
Se for o caso, fiquei com algumas dúvidas:

  • este msgXmlDocumento é um document criado a partir do xml "…234<NFe xmlns=“http://www…”, sem utilizar o “<soap:12:Envelope…”?
  • Neste exemplo, há dois objetos: nfeCabecMsg_prime e elementoDadosMsg , como é realizado o envio SOAP?

É que estou batendo cabeça…
Valeu

não cara… o exemplo que eu quis falar era esse:

1. public class Main { 2. 3. /** 4. * @param args the command line arguments 5. */ 6. public static void main(String[] args) { 7. 8. StringBuffer soapMessage = new StringBuffer(); 9. soapMessage.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>") 10. .append("<soap12:Envelope xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">") 13. .append("<soap12:Header>") 14. .append("<nfeCabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">") 15. .append("<versaoDados>2.0</versaoDados>") 16. .append("<cUF>50</cUF>") 17. .append("</nfeCabecMsg>") 18. .append("</soap12:Header>") 19. .append("<soap12:Body>") 20. .append("<nfeStatusServicoNF2 xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">") 21. .append("<nfeDadosMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\">") 22. .append("<consStatServ xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\">") 23. .append("<tpAmb>2</tpAmb>") 24. .append("<cUF>50</cUF>") 25. .append("<xServ>STATUS</xServ>") 26. .append("</consStatServ>") 27. .append("</nfeDadosMsg>") 28. .append("</nfeStatusServicoNF2>") 29. .append("</soap12:Body>") 30. .append("</soap12:Envelope>"); 31. 32. metodo2(soapMessage.toString(), "http://localhost:8080/teste-ws/NfeStatusServico2"); 33. 34. } 35. 36. 37. public static void metodo2(String envelope, String urlAddress) { 38. 39. try { 40. MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL); 41. SOAPMessage message; 42. 43. try { 44. MimeHeaders header = new MimeHeaders(); 45. header.addHeader("Content-Type", "application/soap+xml"); 46. 47. message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes())); 48. SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection(); 49. 50. URL url = new URL(urlAddress); 51. System.out.println("Message enviada \n"+message); 52. SOAPMessage res = con.call(message, url); 53. 54. ByteArrayOutputStream in = new ByteArrayOutputStream(); 55. message.writeTo(in); 56. System.out.println("in :\n"+in.toString()); 57. 58. ByteArrayOutputStream out = new ByteArrayOutputStream(); 59. res.writeTo(out); 60. System.out.println("out :\n"+desnormalizar(out.toString())); 61. 62. } catch (IOException ex) { 63. System.out.println("" + ex.getMessage()); 64. } 65. } catch (SOAPException ex) { 66. System.out.println("" + ex.getMessage()); 67. } 68. } 69. 70. public static String desnormalizar(String texto) { 71. return texto.replace("<", "<").replace(">", ">").replace(""", "\"").replace(" 72. ", "\r"); 73. } 74. 75. }

esse exemplo funcionou, mas tem que arrumar alguma coisinha no xml que ele montou.
mas tem que usar a lib Xalan

Obs: tive de alterar todas as tags header que estavam vazias de
<soap12:header message=“tns:nfeCancelamentoNF2nfeCabecMsg” part=“nfeCabecMsg” use=“literal”>
</soap12:header>
para
<soap12:header message=“tns:nfeCancelamentoNF2nfeCabecMsg” part=“nfeCabecMsg” use=“literal” />

Ei galera, será que alguem pode me dar uma ajuda aí !!

Estou perdido em relação a consumir o WebService 2.0, ja não sei oq fazer mais !!

Na versão antiga eu consigo tranquilo, mas nessa estou bem confuso.

C alguem tiver algo p/ ajudar !!

Att

Rafael Colodo