Ajuda - Status servico NFe2 com axis2

Bom dia pessoal.

Preciso de ajuda, tá tudo muito confuso.
Estava usando JAX-WS pra NFe2, nada deu certo. Então estou migrando pra axis2.
Peguei um exemplo aqui no forum:

 br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub stub = new br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub();
br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub.NfeDadosMsg nfeDadosMsg7= null;
            // TODO : Fill in the nfeDadosMsg7 here

            String nfeDadosMsg =
                "<nfeDadosMsg xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">" +
                "<consStatServ versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">" +
                "<tpAmb>2</tpAmb>" +
                "<cUF>42</cUF>" +
                "<xServ>STATUS</xServ>" +
                "</consStatServ>" +
                "</nfeDadosMsg>";

             XMLInputFactory inputFactory = XMLInputFactory.newInstance();

            Factory factory = new Factory();

            nfeDadosMsg7 = factory.parse(inputFactory.createXMLStreamReader(new StringReader(nfeDadosMsg)));


//          br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub.NfeCabecMsgE nfeCabecMsg8 = new br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub.NfeCabecMsgE();
            System.out.println("aqui 1");
            NfeCabecMsgE nfeCabecMsg8 = new NfeCabecMsgE();
            System.out.println("aqui 2");
            // TODO : Fill in the nfeCabecMsg8 here
            NfeCabecMsg cabec = new NfeCabecMsg();
            cabec.setCUF("42");
            cabec.setVersaoDados("2.00");
            nfeCabecMsg8.setNfeCabecMsg(cabec);

            NfeStatusServicoNF2Result result = stub.nfeStatusServicoNF2(nfeDadosMsg7, nfeCabecMsg8);
            System.out.println(result.localExtraElement);

Mas a classe NfeStatusServico2Stub por exemplo, eu não tenho. As únicas classes que eu tenho, que o axis criou foram essas (para o status do serviço).

ExtensionMapper.java
NfeCabecMsg.java
NfeCabecMsgE.java
NfeDadosMsg.java
NfeStatusServico2MessageReceiverInOut.java
NfeStatusServico2Skeleton.java
NfeStatusServico2SkeletonInterface.java
NfeStatusServicoNF2Result.java

Sei que o desespero não nos leva a nada, mas eu estou quase me desesperando, o meu trabalho não está rendendo nada, to perdendo muito tempo nessas coisas.
Muita gente deve estar passando por isso também, então, vamos unir nossas forças e acharmos a solução para os problemas.

Abraço.

Cara,

NFe é braba mesmo :slight_smile:
Gera novamente os client’s pelo Eclipse que ele cria o stub .
Pelo visto estas classes que vc listou foram geradas pelo JAX-WS.
Tenta fazer isso e posta o resultado.

Obrigado Luiz, vou fazer isso.

Tem uma dica de como criar no Eclipse? Eu uso o NetBeans, mas já estou instalando o Eclipse.

Pega o arquivo wsdl ecopia pro seu projeto ( se vc ja não fez isso) , clica com o botão direito sobre ele e seleciona WebService -> “Generate Client”, nas telas seguintes vc especifica Axis 2 e o package onde as classes serao criadas.

Com Axis2?

O meu está funcionando assim:

               try {
			NfeStatusServico2Stub stubStatus = new NfeStatusServico2Stub();
			NfeStatusServico2Stub.NfeDadosMsg dadosStatus = new NfeStatusServico2Stub.NfeDadosMsg();
			
			String s = "<consStatServ versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">"
	           +"<tpAmb>2</tpAmb><cUF>42</cUF><xServ>STATUS</xServ></consStatServ>";
			
			OMElement el = AXIOMUtil.stringToOM(s);
			dadosStatus.setExtraElement(el);
			NfeStatusServico2Stub.NfeCabecMsgE cabecalho = new NfeStatusServico2Stub.NfeCabecMsgE();
			cabecalho.setNfeCabecMsg(getCabecalho());
			NfeStatusServicoNF2Result r = stubStatus.nfeStatusServicoNF2(dadosStatus, cabecalho);
			System.out.println(r.getExtraElement().toString());
		} catch (AxisFault e) {
			throw new NfeException(e);
		} catch (RemoteException e) {
			throw new NfeException(e);
		} catch (XMLStreamException e) {
			throw new NfeException(e);
		}

giovani_sc,

Vc esta usando aplicação Web?

Cara,
Para NFe eu uso desktop, e está tdo funcionando.
Qualquer dúvida, me de um toque. Eu fiz do zero, e está redondinho!

Giovani

Prezado giovani_sc,

Obrigado pela atenção.

Estou desenvolvendo Web é estou com o seguinte problema, citado neste tópico que eu criei.

Entendi,
Certificado inválido. Aconteceu comigo também.
Por isso que o meu é desktop. Pois para eu resolver este problema era necessário um certificado SSL do tipo Servidor.
O valor desse certificado fica aproximadamente R$ 3.000,00/ano.

Giovani

Prezado giovani_sc,

Onde posso obter informações sobre este tipo de certificado?

Não sabia que tinha esta relação não você tem algum link ai?