Nfe - Nota Fiscal Eletronica

Alencar,

O Alias do certificado ele tem um tamanho maximo de caracteres? Estou perguntando pois amazenarei essa informação no BD, e não quero mais tarde ter surpresas com alias maiores que o previsto.

Obrigado
Miguel

Boa tarde pessoal,

Estou tentando acessar o WS de status da nfe 2 mas estáq dando o seguinte erro

java.lang.NullPointerException
at nfe.impl.homologacao.statusservico.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:293)
at nfe.impl.homologacao.statusservico.NfeStatusServico2Stub.getService(NfeStatusServico2Stub.java:2719)
at xpro.xmanager.logic.impl.logistica.notafiscaleletronica.NotaFiscalEletronicaImpl.queryStatusService2(NotaFiscalEletronicaImpl.java:435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy69.queryStatusService2(Unknown Source)
at xpro.xmanager.modelo.logistica.notafiscaleletronica.NotaFiscalEletronicaTest.nfeStatusServicoTest(NotaFiscalEletronicaTest.java:628)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

meu codigo é o seguinte :

XMLStreamReader dado = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(consultaStatus.toString()));  
			NfeDadosMsg parse = NfeDadosMsg.Factory.parse(dado);
			System.out.println(soap.getService(parse, cabecalhoE).getExtraElement());
			NfeStatusServicoNF2Result result = soap.getService(parse, cabecalhoE).getExtraElement();

sendo que o null pointer vem de dentro do nfeStatusServicoNF2 a seguinte variável está null, e não deveria _messageContex

alguem sabe o que poderia ser?

pessoal problema resolvido…fiz algumas consistências na classe gerada pelo stub, e parece que agora está ok

[quote=leugimfilho]
Alencar,
O Alias do certificado ele tem um tamanho maximo de caracteres? Estou perguntando pois amazenarei essa informação no BD, e não quero mais tarde ter surpresas com alias maiores que o previsto.

Miguel[/quote]

Não sei lhe afirmar, mas por padrão, String deve ir até 255.

Alencar

Pessoal meu XML gerado está ficando assim, mas não passa

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">

  <soapenv:Header>
    <ns1:nfeCabecMsg xmlns:ns1="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"
    soapenv:mustUnderstand="false">
      <cUF xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
      31</cUF>
      <versaoDados xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">
      2.00</versaoDados>
    </ns1:nfeCabecMsg>
  </soapenv:Header>
  <soapenv:Body>
    <ns1:nfeDadosMsg xmlns:ns1="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">

      <consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
        <tpAmb>2</tpAmb>
        <cUF>31</cUF>
        <xServ>STATUS</xServ>
      </consStatServ>
    </ns1:nfeDadosMsg>
  </soapenv:Body>
</soapenv:Envelope>

não sei se pode ser, mas quando gera o envelope dentro do Stub, os campos do header está ficando preenchido com o xmlns, ai dá o seguinte o erro:

java.lang.AbstractMethodError: nfe.impl.homologacao.statusservico.NfeStatusServico2Stub$NfeDadosMsg$1.serialize(Ljavax/xml/stream/XMLStreamWriter;)V
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume(OMSourcedElementImpl.java:738)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:966)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:995)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:254)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:242)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:995)
	at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:486)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput(SOAPOverHTTPSender.java:190)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(SOAPOverHTTPSender.java:232)
	at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
	at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
	at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
	at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
	at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
	at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:541)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:119)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:335)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:204)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:674)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:237)
	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
	at nfe.impl.homologacao.statusservico.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:219)
	at nfe.impl.homologacao.statusservico.NfeStatusServico2Stub.getService(NfeStatusServico2Stub.java:2789)
	at xpro.xmanager.logic.impl.logistica.notafiscaleletronica.NotaFiscalEletronicaImpl.queryStatusService2(NotaFiscalEletronicaImpl.java:432)
	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy69.queryStatusService2(Unknown Source)
	at xpro.xmanager.modelo.logistica.notafiscaleletronica.NotaFiscalEletronicaTest.nfeStatusServicoTest(NotaFiscalEletronicaTest.java:628)
	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:76)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

alguém vê amis alguma coisa que possa estar errado?

Galera,

Tenho duas dúvidas:

1º Ja gerei o xml, assinei e validei, mas como eu consigo gerar os wsdls no net beans para fazer a comunicação? Eu tento aqui mas não estou consegundo, alguém tem um descritivo?

2ºGerei o xml através de outro programa, como vocês fizeram através do xsd? Podem me explicar como?

não. vc pega o wsdl no site, e enta utilizando o axis vc extrai as classes, tem alguns tópicos aqui no forum sobre isso.

Orlando,

estou com wsdl todos aqui, já tentei através do jaxb mas não estou consgeundo, estou meio perdido, já tentei com esse axis mas não entendi absolutamente nada.

essa parte de envio é desktop!

Pessoal consegui instanciar as classes e tudo só que estou com um erro

Exception in thread "main" com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl) at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:135) at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:142) at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:88) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.client.Stub.process(Stub.java:248) at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:134) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:244) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:224) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:117) at $Proxy30.nfeStatusServicoNF2(Unknown Source) at envionfe.Main.main(Main.java:70) Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl) at javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:179) at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:199) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:365) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:832) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(HttpsURLConnectionOldImpl.java:200) at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:123) ... 13 more Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl) at java.security.Provider$Service.newInstance(Provider.java:1245) at sun.security.jca.GetInstance.getInstance(GetInstance.java:220) at sun.security.jca.GetInstance.getInstance(GetInstance.java:147) at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125) at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68) at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102) at com.sun.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:147) at com.sun.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:121) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.<init>(HttpsURLConnectionOldImpl.java:61) at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Handler.java:34) at java.net.URL.openConnection(URL.java:992) at com.sun.xml.ws.api.EndpointAddress.openConnection(EndpointAddress.java:208) at com.sun.xml.ws.transport.http.client.HttpClientTransport.createHttpConnection(HttpClientTransport.java:312) at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:119) ... 13 more Caused by: java.security.NoSuchProviderException: no such provider: Safenetikey2032 at sun.security.jca.GetInstance.getService(GetInstance.java:66) at sun.security.jca.GetInstance.getInstance(GetInstance.java:190) at java.security.Security.getImpl(Security.java:662) at java.security.KeyStore.getInstance(KeyStore.java:632) at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:145) at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:40) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at java.security.Provider$Service.newInstance(Provider.java:1221) ... 26 more Java Result: 1

Abaixo meu código:

 

package envionfe;

import br.inf.portalfiscal.nfe.wsdl.nfestatusservico2.*;

import java.security.Provider;
import java.security.Security;
import javax.swing.JOptionPane;

/**
 *
 * @author felipe
 */
public class Main 
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        // TODO code application logic here
        
     try
     {
      System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");  
      Provider p = new sun.security.pkcs11.SunPKCS11("token.cfg");  
      Security.addProvider(p);  
   
      System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");  
      System.setProperty("javax.net.ssl.keyStore", "NONE");  
      System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-Safenetikey2032");  
      System.setProperty("javax.net.ssl.keyStoreAlias", "Safenetikey2032");  
      System.setProperty("javax.net.ssl.keyStorePassword", "******");  
 
      System.setProperty("javax.net.ssl.trustStoreType", "JKS");  
      System.setProperty("javax.net.ssl.trustStore", "nfe.keystore");  
        
          
     NfeStatusServico2 service = new NfeStatusServico2();  
   
      NfeCabecMsg cabecMsg = new ObjectFactory().createNfeCabecMsg();  
      cabecMsg.setCUF("35");  
      cabecMsg.setVersaoDados("2.00");  
   
   
      NfeDadosMsg dadosMsg = new ObjectFactory().createNfeDadosMsg();  
      dadosMsg.getContent().add(cabecMsg);  
   
      NfeStatusServico2Soap12 nfeStatus = service.getNfeStatusServico2Soap12();  
      NfeStatusServicoNF2Result nfeResult = new ObjectFactory().createNfeStatusServicoNF2Result();  
               
      System.out.println("Status: " + nfeStatus.toString());  
  
   
       } 
       catch (Exception e) 
       {  
             e.printStackTrace();  
       }   
  }
}

Alguem sabe o que está errado ou tem um exemplo? estou usando o netbeans!

Estou tendo o mesmo problema reportado em: http://www.guj.com.br/posts/list/570/72325.java pelo leandro.bernardo1

[[retConsStatServ: null]]

Alguém tem a solução, como consigo obter os dados da resposta?

Obrigado!

[quote=PadrE]Opa… eae pessoal !!!

Em relação ao tempo… depende muito…
Se vc for fazer a nota fiscal para serviços eh até que rápido (20 dias)… mas a de produtos eh um inferno… tem informação pra caramba… tantas que teremos que adicionar novos campos no sitema aki…

Para agilizar é possível dividir em três etapas…

  1. Criar os XML;
  2. Desenvolver os processos de envio e retorno;
  3. Fazer um controle de log, o que foi e o que nao foi… arquivar etc… parte mais trabalhosa do que dificil.

No momento estamos fechando a geração dos XML’s de acordo com o manual de integração da SEFAZ (espero ser esse mesmo o manual)…
Em paralelo estamos desenvolvenfo as classes de envio e controle…

Assim que terminar os XML, pode se usaro programa da SEFAZ para fazer testes… importar o XML para ele e ver erros de layout…

Se vc for usar o sistema da SEFAZ para transmitir… ai eh so se preocupar em gerar os XML… e pronto… todo controle de envio e log ficam por conta deste software que eh disponibilizado pela SEFAZ. (http://www.emissornfehom.fazenda.sp.gov.br/download.html)

Tem duas versões esse software… uma para Homologação e outra de Produção… fora ser uma boa referência para definir campos, layout’s e informações… pois o mesmo vem com help.

Fui !![/quote]
Sem querer “sugar” código, mas será que poderia me ajudar em como gerar essas classes (webservices) para o envio?

Já tenho o XML pronto e validado (pelo menos no SEFAZ do RS validou com sucesso) com um certificado de testes, portanto ainda estou no ambiente de homologação.

Acho muito confusas essas versões do layout da nota, do status do serviço, cada parte tem uma versão diferente, extremamente confuso.

Saberia me dizer como gero essas classes no Netbeans? (é um sistema em Swing).

Obrigado

Pessoal, bom dia!

Seguinte, alguém já passou por isso?

2SVRS20100811185009226Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora4343100707164980000107550010000000111182919315

segue meu código:

	public static void main(String[] args) {
		String nfeDadosMsg = "<nfeDadosMsg><consSitNFe versao=\"2.00\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">"  
			+ "<xServ>CONSULTAR</xServ><tpAmb>2</tpAmb><chNFe>43100707164980000107550010000000111182919315</chNFe>" 
			+ "</consSitNFe></nfeDadosMsg>";
		
        System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        System.setProperty("javax.net.ssl.keyStore", "*****);
        System.setProperty("javax.net.ssl.keyStorePassword", "*****");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "*****");
		
		try{
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg nfeCabec = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg();
			nfeCabec.setCUF("43");
			nfeCabec.setVersaoDados("2.00");
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE nfeCabecE = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE();  
			nfeCabecE.setNfeCabecMsg(nfeCabec);
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg nfeDados = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg();
			ByteArrayInputStream XMLString = new ByteArrayInputStream(nfeDadosMsg.getBytes());
			XMLStreamReader XML = XMLInputFactory.newInstance().createXMLStreamReader(XMLString);
			nfeDados = br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg.Factory.parse(XML);
			NfeConsulta2Stub nfeStub = new NfeConsulta2Stub();
			System.out.println(nfeStub.nfeConsultaNF2(nfeDados, nfeCabecE).getExtraElement());
			
		} catch (Throwable e){  
			e.printStackTrace();  
		}
	}

Gerei meu client com o Axis2.

[quote=diogoj]Pessoal, bom dia!

Seguinte, alguém já passou por isso?

2SVRS20100811185009226Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora4343100707164980000107550010000000111182919315

segue meu código:

	public static void main(String[] args) {
		String nfeDadosMsg = "<nfeDadosMsg><consSitNFe versao=\"2.00\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">"  
			+ "<xServ>CONSULTAR</xServ><tpAmb>2</tpAmb><chNFe>43100707164980000107550010000000111182919315</chNFe>" 
			+ "</consSitNFe></nfeDadosMsg>";
		
        System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        System.setProperty("javax.net.ssl.keyStore", "*****);
        System.setProperty("javax.net.ssl.keyStorePassword", "*****");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "*****");
		
		try{
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg nfeCabec = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg();
			nfeCabec.setCUF("43");
			nfeCabec.setVersaoDados("2.00");
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE nfeCabecE = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE();  
			nfeCabecE.setNfeCabecMsg(nfeCabec);
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg nfeDados = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg();
			ByteArrayInputStream XMLString = new ByteArrayInputStream(nfeDadosMsg.getBytes());
			XMLStreamReader XML = XMLInputFactory.newInstance().createXMLStreamReader(XMLString);
			nfeDados = br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg.Factory.parse(XML);
			NfeConsulta2Stub nfeStub = new NfeConsulta2Stub();
			System.out.println(nfeStub.nfeConsultaNF2(nfeDados, nfeCabecE).getExtraElement());
			
		} catch (Throwable e){  
			e.printStackTrace();  
		}
	}

Gerei meu client com o Axis2.[/quote]

Estou tendo um problema similar, Alguém poderia me ajudar…
Bom, trabalho em uma empresa que está desenvolvendo um projeto para a emissão de nota fiscal eletrônica já em sua versão 2.00. A princípio eu estou tentando enviar um lote de nota fiscal eletrênica ao sefaz de são Paulo https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx?WSDL.
Até ai tudo certo eu consigo enviar e o lote é recebido com sucesso, só que quando eu efetuo a consulta do lote o sefaz me informa que a nota foi rejeitada. Resposta abaixo:

<?xml version="1.0" encoding="utf-8"?> 2 SP_NFE_PL_006e 351000019435078 104 Lote processado 35 2 SP_NFE_PL_006e 35100810752305000103550010000000071001241174 2010-08-18T18:12:19 502 [b]Rejeição: Erro na Chave de Acesso - Campo Id não corresponde à concatenação dos campos correspondentes[/b][color=red] [/color]

Pelo que entendi, o erro me informa que a chave de acesso da nota ?NFe35100810752305000103550010000000071001241174?[color=darkred] [/color][color=red] [/color], não corresponde a concatenação dos campos: cUF, AAMM ,CNPJ, mod, serie, nNF , tpEmis , cNF , cDV(calculo que também já fiz) mas está, segue a nota abaixo:

<?xml version="1.0" encoding="utf-8"?> [b]35[/b] [b]00124117[/b] 2 0 [b]55[/b] [b]1[/b] [b]7[/b] [b]2010-08-18[/b] 2010-08-18 16:00:00 1 3541000 1 [b]1[/b] 0 2 1 0 1.0 [b]10752305000103[/b] nomeEmpresa nomeEmpresa Rua 164 ........

[quote=diogoj]Pessoal, bom dia!

Seguinte, alguém já passou por isso?

2SVRS20100811185009226Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora4343100707164980000107550010000000111182919315

segue meu código:

	public static void main(String[] args) {
		String nfeDadosMsg = "<nfeDadosMsg><consSitNFe versao=\"2.00\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">"  
			+ "<xServ>CONSULTAR</xServ><tpAmb>2</tpAmb><chNFe>43100707164980000107550010000000111182919315</chNFe>" 
			+ "</consSitNFe></nfeDadosMsg>";
		
        System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        System.setProperty("javax.net.ssl.keyStore", "*****);
        System.setProperty("javax.net.ssl.keyStorePassword", "*****");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "*****");
		
		try{
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg nfeCabec = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg();
			nfeCabec.setCUF("43");
			nfeCabec.setVersaoDados("2.00");
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE nfeCabecE = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE();  
			nfeCabecE.setNfeCabecMsg(nfeCabec);
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg nfeDados = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg();
			ByteArrayInputStream XMLString = new ByteArrayInputStream(nfeDadosMsg.getBytes());
			XMLStreamReader XML = XMLInputFactory.newInstance().createXMLStreamReader(XMLString);
			nfeDados = br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg.Factory.parse(XML);
			NfeConsulta2Stub nfeStub = new NfeConsulta2Stub();
			System.out.println(nfeStub.nfeConsultaNF2(nfeDados, nfeCabecE).getExtraElement());
			
		} catch (Throwable e){  
			e.printStackTrace();  
		}
	}

Gerei meu client com o Axis2.[/quote]

Provavelmente o cara que emitiu esta nota, emitiu para o sefaz errado…

[quote=andre.luiz.kbca][quote=diogoj]Pessoal, bom dia!

Seguinte, alguém já passou por isso?

2SVRS20100811185009226Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora4343100707164980000107550010000000111182919315

segue meu código:

	public static void main(String[] args) {
		String nfeDadosMsg = "<nfeDadosMsg><consSitNFe versao=\"2.00\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">"  
			+ "<xServ>CONSULTAR</xServ><tpAmb>2</tpAmb><chNFe>43100707164980000107550010000000111182919315</chNFe>" 
			+ "</consSitNFe></nfeDadosMsg>";
		
        System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
        System.setProperty("javax.net.ssl.keyStore", "*****);
        System.setProperty("javax.net.ssl.keyStorePassword", "*****");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "*****");
		
		try{
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg nfeCabec = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsg();
			nfeCabec.setCUF("43");
			nfeCabec.setVersaoDados("2.00");
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE nfeCabecE = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeCabecMsgE();  
			nfeCabecE.setNfeCabecMsg(nfeCabec);
			
			br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg nfeDados = new br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg();
			ByteArrayInputStream XMLString = new ByteArrayInputStream(nfeDadosMsg.getBytes());
			XMLStreamReader XML = XMLInputFactory.newInstance().createXMLStreamReader(XMLString);
			nfeDados = br.com.imdt.nfe.ws.nfeconsulta.wsdl.NfeDadosMsg.Factory.parse(XML);
			NfeConsulta2Stub nfeStub = new NfeConsulta2Stub();
			System.out.println(nfeStub.nfeConsultaNF2(nfeDados, nfeCabecE).getExtraElement());
			
		} catch (Throwable e){  
			e.printStackTrace();  
		}
	}

Gerei meu client com o Axis2.[/quote]

Estou tendo um problema similar, Alguém poderia me ajudar…
Bom, trabalho em uma empresa que está desenvolvendo um projeto para a emissão de nota fiscal eletrônica já em sua versão 2.00. A princípio eu estou tentando enviar um lote de nota fiscal eletrênica ao sefaz de são Paulo https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx?WSDL.
Até ai tudo certo eu consigo enviar e o lote é recebido com sucesso, só que quando eu efetuo a consulta do lote o sefaz me informa que a nota foi rejeitada. Resposta abaixo:

<?xml version="1.0" encoding="utf-8"?> 2 SP_NFE_PL_006e 351000019435078 104 Lote processado 35 2 SP_NFE_PL_006e 35100810752305000103550010000000071001241174 2010-08-18T18:12:19 502 [b]Rejeição: Erro na Chave de Acesso - Campo Id não corresponde à concatenação dos campos correspondentes[/b][color=red] [/color]

Pelo que entendi, o erro me informa que a chave de acesso da nota ?NFe35100810752305000103550010000000071001241174?[color=darkred] [/color][color=red] [/color], não corresponde a concatenação dos campos: cUF, AAMM ,CNPJ, mod, serie, nNF , tpEmis , cNF , cDV(calculo que também já fiz) mas está, segue a nota abaixo:

<?xml version="1.0" encoding="utf-8"?> [b]35[/b] [b]00124117[/b] 2 0 [b]55[/b] [b]1[/b] [b]7[/b] [b]2010-08-18[/b] 2010-08-18 16:00:00 1 3541000 1 [b]1[/b] 0 2 1 0 1.0 [b]10752305000103[/b] nomeEmpresa nomeEmpresa Rua 164 ........[/quote]

RESOLVIDO

Nossa realmente acabei viajando mesmo eu tinha esquecido de alterar o valor da tag <cDV>0</cDV> para <cDV>4</cDV> e por este motivo estava dando erro de concatenação. Fata de atenção minha!!!


valew pela força tbm gilmaslima, estava a algum tempo já tentando encontrar o problema…

[quote=andre.luiz.kbca][quote=diogoj]Pessoal, bom dia!

Seguinte, alguém já passou por isso?

2SVRS20100811185009226Rejeicao: Codigo da UF do Emitente diverge da UF autorizadora4343100707164980000107550010000000111182919315

[/quote]

Passei por isso dias atras.
No meu caso, era o código da UF que são os dois primeiros digitos da chave de acesso que estavam zerado.
Mas também pode ser o cUF diferente da SEFAZ de destino.

Alencar

[quote=roassunca]Consegui tirar o soapenv:mustUnderstand=“false” do XML do AXIS (se alguém preicisar posso postar o código), porém, continuo obtendo: Rejeição: Falha no schema XML.
Falta apenas a questão do soapenv: que o AXIS está gerando ao invés de gerar soap12:
Alguém sabe se isso pode ser a causa da rejeição?[/quote]

Olá,

Por favor, poderia postar o código para remover o atributo soapenv:mustUnderstand=“false”?

Se alguem mais souber como posso remover este atributo do XML do Axis, eu agradeço.

Abraços
Diogo

Pessoal… estou com um problema e não achei a solução ainda…
Utilizei o JaxB pra gerar as classes
Estou tentando enviar uma nfe… acho que o webservice mesmo que gera o xml para envio…então incluo um objeto TNFe no msgDados em vez da String com o xml… o problema é que na hora de enviar ele cria um monte de prefix namespace …tipo ns2 ns3 e assim vai…
Olha o meu código


public static void enviar(){
 System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "true");

        ajustaSslCertificadoA1();//ajusta os certificados do cliente e do sefaz

    //cria a mensagem de dados
       NfeDadosMsg nfeDadosMsg = createNfeDadosMsg(arquivoNfe);
//cria o cabeçalho
       Holder<NfeCabecMsg> nfeCabecMsg = new Holder<NfeCabecMsg>(createNfeCabecMsg());

       NfeRecepcao2Soap12 consulta = new NfeRecepcao2().getNfeRecepcao2Soap12();
 //envia e retorna a mensagem de resposta
        NfeRecepcaoLote2Result result = consulta.nfeRecepcaoLote2(nfeDadosMsg,nfeCabecMsg);

}
   private static NfeDadosMsg createNfeDadosMsg(File arquivoNfe) {
        NfeDadosMsg dadosMsg = new NfeDadosMsg();

        LeitorXML leitor = new LeitorXML();
        TNFe tnfe = leitor.lerNFe(arquivoNfe);

        dadosMsg.getContent().add(tnfe);

        return dadosMsg;
    }


      private static NfeCabecMsg createNfeCabecMsg() {
        NfeCabecMsg cabecMsg = new NfeCabecMsg();

		cabecMsg.setCUF( "43");
		cabecMsg.setVersaoDados("2.00");

		return cabecMsg;
    }


Ele cria os dados tudo certo o tnfe também gera correto… mas na hora de criar o soap de envio com a linha NfeRecepcaoLote2Result result = consulta.nfeRecepcaoLote2(nfeDadosMsg,nfeCabecMsg);

ele gera esses xmlns:ns2 e xmlns:ns3 malditos… com isso dá rejeição lá no webService…

alguém já passou por isso?

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
<S:Header>
<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns:ns2="http://www.portalfiscal.inf.br/nfe" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
<cUF>43</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</S:Header>
<S:Body>
<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns:ns2="http://www.portalfiscal.inf.br/nfe" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
<ns2:NFe>
.... Dados pertinentes da nfe
</ns2:NFe>
</nfeDadosMsg
></S:Body>
</S:Envelope>

Já tentei formar o cabeçalho em forma de string pra tentar acertar, mas na hora de enviar ele gera denovo os ns2, ns3…

Oi leopoldof,

tive o mesmo problema, e resolvi dessa forma:

Na classe NfeRecepcao2Stub, procure por “ns2” e “ns3” (com aspas) e deixe “” (aspas duplas vazia).
Veja o exemplo:

	public static class NfeDadosMsg implements
			org.apache.axis2.databinding.ADBBean {

		public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
				"http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2",
				"nfeDadosMsg", ""); // ns1

Obrigado…resolvido!