Exception ao usar Marshaller

2 respostas
blackfalcon

Ola pessoal, estou tendo o seguinte erro quando executo meu codigo:

Exception in thread “main” java.lang.NoSuchMethodError: javax.xml.bind.Marshaller.marshal(Ljava/lang/Object;Ljava/io/File;)V
at NFe.Main.main(Main.java:48)
Java Result: 1

O Codigo é o seguinte:

try {
			//instancia a classe JAXBContext que serve como um ponto de entrada
			//para as operações disponíveis na API: marshal, unmarshal e validate.
			//Ao invocar o método estático newInstance deve-se indicar qual pacote
			//contém as classes mapeadas
			JAXBContext context = JAXBContext.newInstance("br.inf.portalfiscal.nfe");

			//instancia a classe Unmarshaller, que cria objetos Java a partir de arquivos XML
			Unmarshaller unmarshaller = context.createUnmarshaller();

			//instancia a classe Marshaller, que cria de arquivos XML a partir de objetos Java
			Marshaller marshaller = context.createMarshaller();

			File notaFile = new File("D:/nfeteste.xml");

			//aqui ocorre o processo de conversão de XML para Java Beans.
			TNFe nfe = unmarshaller.unmarshal(new StreamSource(notaFile), TNFe.class).getValue();

			//pode-se efetuar quaisquer alterações
			nfe.getInfNFe().getIde().setNatOp("Venda a prazo");

			//persiste o conteúdo novamente no arquivo XML
			marshaller.marshal(nfe, notaFile);
		} catch (Exception e) {
			e.printStackTrace();
		}

O erro da na linha "marshaller.marshal(nfe, notaFile);.

Alguem sabe o porque esta acontecendo esse erro?

Abraços

2 Respostas

blackfalcon

Ninguem sabe o motivo desse erro? Estou muito precisando solucionar.

Abraços

blackfalcon

Galera, consegui resolver passando um FileWriter ao invez de um File para o Marshaller.

marshaller.marshal(nfe, new FileWriter(file));

Abraços

Criado 2 de janeiro de 2011
Ultima resposta 3 de jan. de 2011
Respostas 2
Participantes 1