Hi Mark,
I believe David eventually was able to get it working. Please check
subsequent messages in the thread.
Regards,
--
Ed Mooney |Sun Microsystems, Inc.|Time flies like
Java Web Services |UBUR02-201 |an arrow, but
Ed.Mooney_at_Sun.COM |1 Network Drive |fruit flies like
781-442-0459 |Burlington, MA 01803 |a banana. Groucho
Mark D. Hansen wrote:
> Was this problem solved? I am having the same issue.
>
> Mark Hansen
> bus: (888) 360-7285
> fax: (914) 723-8671
> email: khookguy_at_yahoo.com
>
>
> -----Original Message-----
> From: Discussion list for the Java Architecture for XML Binding
> [mailto:JAXB-INTEREST_at_JAVA.SUN.COM]On Behalf Of David Portabella
> Sent: Tuesday, March 18, 2003 1:19 PM
> To: JAXB-INTEREST_at_JAVA.SUN.COM
> Subject: unmarshall an object from a org.w3c.dom.Document object
>
>
> I have problems unmarshalling an object from a org.w3c.dom.Document
> object.
>
> I create a simple org.w3c.dom.Document object, and then I try to
> unmarshall it, but it reports this error:
>
>
>>Exception in thread "main" java.lang.NullPointerException
>> at
>
> com.sun.xml.bind.unmarshaller.SAXUnmarshallerHandlerImpl.startElement
>
>>(SAXUnmarshallerHandlerImpl.java:87)
>> at
>
> com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:109)
>
>> at
>
> com.sun.xml.bind.unmarshaller.DOMScanner.parse(DOMScanner.java:64)
>
>> at
>
> com.sun.xml.bind.unmarshaller.UnmarshallerImpl.unmarshal(Unmarshaller
>
>>Impl.java:149)
>> at TestB.createObject(TestB.java:39)
>> at TestB.main(TestB.java:19)
>
>
> But, if I create the same Document object, I save it into a file,
> and I reload it from this file, having again a Document object
> (which should be the same),
> then I can unmarshall it successfully.
>
> What can be the problem?
>
>
>
> -----------------------------------------
> import org.xml.sax.*;
> import org.w3c.dom.*;
> import javax.xml.parsers.*;
> import java.io.*;
>
> import javax.xml.bind.JAXBContext;
> import javax.xml.bind.JAXBException;
> import javax.xml.bind.Unmarshaller;
> import javax.xml.bind.Marshaller;
>
>
> public class TestB
> {
> public static void main(String[] args) throws Exception
> {
> Document doc = createDoc();
> System.out.println(doc.getDocumentElement());
> //doc = saveAndReload(doc); //If I do this strange thing, then it
> works
> createObject(doc);
> }
>
> static Document createDoc() throws Exception
> {
> DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
> dbf.setNamespaceAware(true);
> DocumentBuilder db = dbf.newDocumentBuilder();
> Document doc = db.newDocument();
>
> Element element = doc.createElement("WozRequest");
> element.setAttribute("action", "value");
> doc.appendChild(element);
> return doc;
> }
>
> static void createObject(Document doc) throws Exception
> {
> JAXBContext jc = JAXBContext.newInstance("wozObject.request");
> Unmarshaller u = jc.createUnmarshaller();
> Object o = u.unmarshal( doc );
> }
>
> static Document saveAndReload(Document doc) throws Exception
> {
> String fileName = "root.xml";
> PrintWriter out = new PrintWriter(new FileWriter(fileName, false));
> out.println(doc.getDocumentElement());
> out.close();
>
> DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
> dbf.setNamespaceAware(true);
> DocumentBuilder db = dbf.newDocumentBuilder();
> doc = db.parse(new File(fileName));
> return doc;
> }
> }
> -----------------------------------------
>
> Regards,
> David
>