Estou trabalhando com JaxB para desenvolvimento da Nfe 2.0.
Baseado nos xsd’s, já desenvolvi quase todo o projeto. Agora eu quero:
- Extrair a Tag de Grupo que me interessa. Exemplo: tirar o grupo protNFe (protocolo) e seus elementos, contidos no envelope SOAP.
- Executar o unmarshaller com o xml na memória, ou seja, quero pegar a resposta da SEFAZ e povoar o objeto correspondente. No momento só consigo fazer marshaller/unmarshaller de xml gravado em disco;
Já tentei de várias formas e já pesquisei bastante, mas ainda está enrolado.
Abaixo um exemplo de retorno:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2">
<cUF>35</cUF>
<versaoDados>2.00</versaoDados>
</nfeCabecMsg>
</soap:Header>
<soap:Body>
<nfeConsultaNF2Result
xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2">
<retConsSitNFe xmlns="http://www.portalfiscal.inf.br/nfe"
versao="2.00">
<tpAmb>2</tpAmb>
<verAplic>SP_NFE_PL_006h</verAplic>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
<cUF>35</cUF>
<chNFe>35110304866037000158550010000003181000003181</chNFe>
<protNFe versao="2.00">
<infProt>
<tpAmb>2</tpAmb>
<verAplic>SP_NFE_PL_006h</verAplic>
<chNFe>35110304866037000158550010000003181000003181</chNFe>
<dhRecbto>2011-03-30T21:06:43</dhRecbto>
<nProt>135110003289057</nProt>
<digVal>tMaw4b4zE6lSLYU2/d+snQhg5ds=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</retConsSitNFe>
</nfeConsultaNF2Result>
</soap:Body>
</soap:Envelope>