Estou passando uma string que representa o XML que retornou do SEFAZ para um DocumentBuilder e está me dando essa Exception:Resolvido assim:A string que está sendo passada é:java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8 sequence. at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source) at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at emissor.lib.NFe.statusServico(NFe.java:331) at emissor.ui.NotasFiscaisUI$1.run(NotasFiscaisUI.java:110)O código que faz isso é esse aqui:<?xml version="1.0" encoding="UTF-8"?><retConsStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><verAplic>SP_NFE_PL_006e</verAplic><cStat>107</cStat><xMotivo>Serviço em Operação</xMotivo><cUF>35</cUF><dhRecbto>2010-09-22T10:57:45</dhRecbto><tMed>1</tMed></retConsStatServ>NfeStatusServicoNF2Result resp = nfe.nfeStatusServicoNF2(nf, nfeCabecMsg); String strXmlRetorno = resp.getExtraElement().toString(); strXmlRetorno = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + strXmlRetorno; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); Document doc = factory.newDocumentBuilder().parse(new ByteArrayInputStream(strXmlRetorno.getBytes())); // exception ocorre aquiO estranho é que isso só ocorre quando eu executo a aplicação com JWS, se for normal (pelo NB) não dá esse problema.
Alguém tem alguma ideia do que pode ser?
Document doc = factory.newDocumentBuilder().parse(new ByteArrayInputStream(strXmlRetorno.trim().getBytes("UTF8")));