oi galera,
estou tentando converter um XML recebido pela minha aplicação em um objeto....e pra isso, estou usando o jaxb. Ao tentar fazer o unmarshall, ele dá esse erro:
Grave: javax.xml.bind.UnmarshalException: elemento inesperado (uri:"http://www.abrasf.org.br/nfse.xsd", local:"EnviarLoteRpsEnvio"). Os elementos esperados são <{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod>,<{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue>,<{http://www.w3.org/2000/09/xmldsig#}DigestMethod>,<{http://www.w3.org/2000/09/xmldsig#}DigestValue>,<{http://nfse.abrasf.org.br}EnviarLoteRpsEnvio>,<{http://www.w3.org/2000/09/xmldsig#}KeyInfo>,<{http://www.w3.org/2000/09/xmldsig#}KeyName>,<{http://www.w3.org/2000/09/xmldsig#}KeyValue>,<{http://www.w3.org/2000/09/xmldsig#}Manifest>,<{http://www.w3.org/2000/09/xmldsig#}MgmtData>,<{http://www.w3.org/2000/09/xmldsig#}Object>,<{http://www.w3.org/2000/09/xmldsig#}PGPData>,<{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue>,<{http://www.w3.org/2000/09/xmldsig#}Reference>,<{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod>,<{http://www.w3.org/2000/09/xmldsig#}SPKIData>,<{http://www.w3.org/2000/09/xmldsig#}Signature>,<{http://www.w3.org/2000/09/xmldsig#}SignatureMethod>,<{http://www.w3.org/2000/09/xmldsig#}SignatureProperties>,<{http://www.w3.org/2000/09/xmldsig#}SignatureProperty>,<{http://www.w3.org/2000/09/xmldsig#}SignatureValue>,<{http://www.w3.org/2000/09/xmldsig#}SignedInfo>,<{http://www.w3.org/2000/09/xmldsig#}Transform>,<{http://www.w3.org/2000/09/xmldsig#}Transforms>,<{http://www.w3.org/2000/09/xmldsig#}X509Data>
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:258)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:253)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1063)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:498)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:480)
at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:150)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:881)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:190)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:172)
at br.srv.coplanmt.issqn.ws.util.regra.AutorizacaoNfse.converterRecepcaoLoteEnvio(AutorizacaoNfse.java:65)
at br.srv.coplanmt.issqn.ws.util.regra.AutorizacaoNfse.validandoGeracaoNfse(AutorizacaoNfse.java:243)
at br.srv.coplanmt.issqn.ws.util.queue.MessageReceiver.recebeArquivo(MessageReceiver.java:61)
at br.srv.coplanmt.issqn.ws.util.queue.MessageReceiver.access$000(MessageReceiver.java:32)
at br.srv.coplanmt.issqn.ws.util.queue.MessageReceiver$RemindTask.run(MessageReceiver.java:124)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Grave: at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662)
Grave: at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:258)
Grave: at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:253)
Grave: at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120)
public EnviarLoteRpsEnvio converterLoteEnvio(String xml) throws JAXBException
{
JAXBContext context = JAXBContext.newInstance(EnviarLoteRpsEnvio.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
JAXBElement<EnviarLoteRpsEnvio> element = (JAXBElement<EnviarLoteRpsEnvio>) unmarshaller.unmarshal(new InputSource(new StringReader(xml))); //ELE DÁ ERRO NESSA LINHA
EnviarLoteRpsEnvio loteEnvio = element.getValue();
return loteEnvio;
}
sendo que o xml está OK, pois antes de tudo passa no validador.
Alguem sabe me dizer porque não consigo converter em objeto?
Ah...lembrando que as entidades foram geradas pelo comando XJC do jaxb. Então EnviarLoteRpsEnvio foi gerado por ele...mas ele não acha.
:shock: :shock: :shock: :shock: