NFe 2.0

27 respostas
V

Galera do portal,

Alguem ja implementou os novos webservices da nota fiscal eletronica, os webservice 2.0. Estou usando o JAX-WS.
O codigo que foi gerado pelo netbeans foi esse:

br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeRetRecepcao2 service = new br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeRetRecepcao2();
 br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeRetRecepcao2Soap port = service.getNfeRetRecepcao2Soap12();
 // TODO initialize WS operation arguments here
 br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeDadosMsg nfeDadosMsg = new br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeDadosMsg();
 // TODO process result here
br.com.ces.wsdl.cliente.homologacao.mg.retrecepcao.NfeRetRecepcao2Result result = port.nfeRetRecepcao2(nfeDadosMsg);
System.out.println("Result = "+result);

Como que eu vou usar isso meu deus!!!
Por que o povo do governo nao coloca os exemplos de como usar isso!!!

Att

27 Respostas

Z

A implementação pode ser feita de diversas maneiras,

Tem um tópico aqui no guj que um cara ensina a usar o WS com o JAX

http://www.guj.com.br/posts/list/206765.java

Não muda muita coisa pra versão 1.xx, o unico problema do JAX é que ele não gera corretamente, ai vc tem q modificar os fontes na mão

F

Eu ja tive problema parecido quando precisei acessar um webservice do sintegra, com o netbeans nao consegui nem a pau gerar o codigo correto pelo JAX, instalei o eclipse gerei um projeto webservice e busquei o wsdl ele gera as classes e codigos pra mim, ae copiei e adaptei para o netbeans e ta tudo belezinha

falows

V

Ok galera.

Vou testar, com certeza surgira duvidas.

O tutorial citado parece ser bem tranquilo que fazer.

Valeu galera

V

furacao123:
Eu ja tive problema parecido quando precisei acessar um webservice do sintegra, com o netbeans nao consegui nem a pau gerar o codigo correto pelo JAX, instalei o eclipse gerei um projeto webservice e busquei o wsdl ele gera as classes e codigos pra mim, ae copiei e adaptei para o netbeans e ta tudo belezinha

falows

Qual plugin vc usou no eclipse? tem como voce postar um exemplo de como ficou o seu codigo?

F

Não usei plugin nenhum apenas instalei o eclipse J2EE ae voce vai la em criar projeto e em webservices voce linka com o wsdl e ele cria as classes para acesso cliente ao webservice, não tem como te mostrar exemplo pois o webservice que eu acessava é de função diferente, depois que voce gerar pelo eclipse confronta com o do netbeans, no meu caso depois de muito tempo tentando eu abandonei a geração automatica do netbeans e copiei tudo oq o eclipse gerou no projeto no netbeans e dei continuidade no projeto

Z

O Eclipse usa o Axis2 pra gerar os stubs para o wsdl,

Eu criei tarefas no ant do netbeans para transformar os wsdl em java, assim eu só digo a pasta e ele transforma tudo.

V

zoren, mas no netbeans vc usa o axis2 ou jax-ws.

Como voce configurou o seu ant?

Att

Z

Eu uso o Axis2, eu ia tentar fazer com o JAX-WS, mas ainda está nos planos.

A configuração das tarefas do axis2, vc consegue na própria documentação do Axis2.

Pra quem tiver interesse http://ws.apache.org/axis2/tools/1_4/CodegenToolReference.html

V

Galera,

Estou tentando usar o eclipse para gerar o cliente atraves dos wsdl’s da receita e esta dando o seguinte erro:

IWAB0399E Error in generating Java from WSDL:  java.io.IOException: No symbol table entry found for message {tns}nfeStatusServicoNF2nfeCabecMsg
    java.io.IOException: No symbol table entry found for message {tns}nfeStatusServicoNF2nfeCabecMsg
    at org.apache.axis.wsdl.symbolTable.FaultInfo.<init>(FaultInfo.java:138)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.fillInBindingInfo(SymbolTable.java:2687)

Como que eu resolvo esse erro?

Z

De qual estado você está tentando gerar?

V

Vou gerar de Minas Gerais e São Paulo.

A

Usei o Axis2 e foi tudo bem. Tive que fazer umas pequenas modificações, mas são coisas não muito grandes (apesar de ser no código do Axis2).

V

Galera,

Olha o meu codigo que gerei. Usei o Axis2, so que gerei os stubs atraves do wsdl2java.bat.

Abaixo o meu codigo completo:

public class Main {
    public static void main(String[] args) {
        setarDadosDoCertificadoA1();
        mandarParaReceita();
    }

    private static void mandarParaReceita() {
        try {
            String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><consStatServ xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.07\"><tpAmb>2</tpAmb><cUF>31</cUF><xServ>STATUS</xServ></consStatServ>";
            NfeStatusServico2Stub stub = new NfeStatusServico2Stub();
            NfeStatusServico2Stub.NfeDadosMsg dados = new NfeStatusServico2Stub.NfeDadosMsg();
            OMElement el;

            el = AXIOMUtil.stringToOM(xml);
            dados.setExtraElement(el);
            NfeStatusServico2Stub.NfeCabecMsg cab = new NfeStatusServico2Stub.NfeCabecMsg();
            cab.setVersaoDados("2.00");
            cab.setCUF("31");

            NfeStatusServico2Stub.NfeCabecMsgE cabE = new NfeStatusServico2Stub.NfeCabecMsgE();
            cabE.setNfeCabecMsg(cab);

            System.out.println(stub.nfeStatusServicoNF2(dados, cabE).getExtraElement());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void setarDadosDoCertificadoA1() {
        try {

            System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

            System.setProperty("javax.net.ssl.trustStoreType", "JKS");
            System.setProperty("javax.net.ssl.trustStore", "C:\\certificados\\keystore.jks");
            System.setProperty("javax.net.ssl.trustStorePassword", "123456");

            System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
            System.setProperty("javax.net.ssl.keyStore", "C:\\certificados\\certificado.pfx");
            System.setProperty("javax.net.ssl.keyStorePassword", "123456");

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

Esta dando o seguinte erro:

org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found
        at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310)
        at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
        at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
        at com.teste.wsdl.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:196)
        at javaapplication9.Main.mandarParaReceita(Main.java:44)
        at javaapplication9.Main.main(Main.java:24)

Onde esta o erro desse codigo?

Att

Z

Dá uma olhada no WSDL e ve para onde ele está tentando enviar o XML

Tive um problema com Goiás que os WSDL estavam mirando no localhost

V

zoren:
Dá uma olhada no WSDL e ve para onde ele está tentando enviar o XML

Tive um problema com Goiás que os WSDL estavam mirando no localhost

Olhei os meus enderecos e estão apontando para:

https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2

Em anexo o meu stub gerado pelo axis.

V

Galera,

Dei uma pernada com relação ao erro acima de URl, realmente estava errado a URL, arrumei a URL e agora esta dando esse erro:

org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI
        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
        at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
        at com.teste.wsdl.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:196)
        at javaapplication5.Main.mandarParaReceita(Main.java:43)
        at javaapplication5.Main.main(Main.java:19)
Caused by: org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI
        at org.apache.axis2.builder.BuilderUtil.validateSOAPVersion(BuilderUtil.java:768)
        at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:62)
        at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)
        ... 8 more

Esse negocio do governo ta foda, a cada hora surge um problema diferente.

A

vcsmetallica, conseguiu resolver o problema da mensagem : org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI ?

Estou com o mesmo problema quando vou consultar o status do PR por exemplo.

V

Entao.

Nao resolvi. Estou tentando mesmo com o JAX-WS.

Com JAX-WS consegui enviar, agora estou com problemas em pegar o retorno da nota

Att

vcsmetallica

V

Entao Galera,

Como respondi acima, ainda estou tendo problemas com o JAX-WS.

Consegui enviar a minha nota, mas quando estou usando o web service para consutar a nota que mandei esta dando o seguinte erro:

javax.xml.ws.soap.SOAPFaultException: Fault occurred while processing.
        at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1249)
        at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:975)
        at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:412)
        at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:443)
        at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:406)
        at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:330)
        at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
        at $Proxy26.nfeRetRecepcao2(Unknown Source)
        at br.com.ces.wsdl.RetRecepcao.enviarRetRecepcao(RetRecepcao.java:64)
        at br.com.ces.controle.ControleConsultarRetRecepcaoNFe.consultarNFe(ControleConsultarRetRecepcaoNFe.java:45)
        at br.com.ces.junit.TesteConsutaNFe.enviarNFE(TesteConsutaNFe.java:22)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
        at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:422)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:931)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:785)

Não estou conseguindo identificar esse erro.

Abaixo os meus codigos

Minha classe que eu envio para a receita - ConsReciNFe:

@XmlRootElement(name = "consReciNFe")
@XmlAccessorType(XmlAccessType.FIELD)
public class ConsReciNFe {

    @XmlAttribute
    private String versao;

    @XmlAttribute
    private String xmlns;

    @XmlElement(name = "tpAmb")
    private Integer tpAmb = 2;

    @XmlElement(name = "nRec")
    private String nRec;


    public ConsReciNFe() {
        versao = "2.00";
        xmlns = "http://www.portalfiscal.inf.br/nfe";
    }
//GET's e SET's
}

Abaixo as linhas que eu uso para enviar

NfeRetRecepcao2Soap12 nfeRetRecepcao2Soap12 = new NfeRetRecepcao2().getNfeRetRecepcao2Soap12();
NfeDadosMsg dadosMsg = new NfeDadosMsg();
dadosMsg.getContent().add(consReciNFe);
Holder<NfeCabecMsg> nfeCabecMsg = new Holder<NfeCabecMsg>(createNfeCabecMsgRetRecepcao());
NfeRetRecepcao2Result nfeRetRecepcao2Result = nfeRetRecepcao2Soap12.nfeRetRecepcao2(dadosMsg, nfeCabecMsg);

meu metodo que cria o cabeçalho

public NfeCabecMsg createNfeCabecMsgRetRecepcao() {
        NfeCabecMsg cabecMsg = new NfeCabecMsg();
        cabecMsg.setCUF("31");
        cabecMsg.setVersaoDados("2.00");
        return cabecMsg;
    }

Valeu mais uma vez galera.

K

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 {<a href="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2">http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2</a>}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

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:
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?

I

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());
A

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

I

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

A

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

T

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” />

C

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

Criado 15 de julho de 2010
Ultima resposta 11 de mar. de 2011
Respostas 27
Participantes 10