Hi Fredrik, looking at this, I wonder why you are using a type of "other" in your mapping ? Any hints ?
Regards Werner Fredrik Johansson wrote: > Hi! > > I have a problem with unmarshal. I use a vector (old legacy code) containing > a long[]. The array contains x and y coordinates. Marshaling works fine, but > unmarshal fails. Any help is much appreciated. > > I use the following mapping to marshall/unmarshall > > <field name="m_marks" type="other" collection="vector" > get-method="getMarks" set-method="setMarks" /> > > The java class contains the following attributes and methods > > private Vector m_marks; > > public Vector getMarks() > public void setMarks(Vector marks) > > public long[] getMarksArray() > public void setMarksArray(long[]) > > Marshalling works fine and the following XML is generated > > > <m_marks > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:type="java:[J"> > <long>6783933</long> > <long>9999988</long> > </m_marks> > <m_marks > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:type="java:[J"> > <long>2332333</long> > <long>6767777</long> > </m_marks> > > <m_marks > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:type="java:[J"> > <long>0</long> > <long>0</long> > </m_marks> > <m_marks > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:type="java:[J"> > <long>0</long> > <long>0</long> > </m_marks> > > When I try to unmarshal the file I get the following exception (most > interesting > part of stack trace shown) > > org.exolab.castor.xml.MarshalException: [J{File: [not available]; line: 45; > column: 86} > at > org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException(Unmarshaller.java:761) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:727) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:616) > > > > Caused by: java.lang.ClassNotFoundException: [J > at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at > java.lang.ClassLoader.loadClass(ClassLoader.java:252) > at > org.exolab.castor.xml.UnmarshalHandler.loadClass(UnmarshalHandler.java:3604) > at > org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:2161) > at > org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1418) > at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376) > at > org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1197) > at > org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1862) > at > org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1238) > at > org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) > at > org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035) > at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:715) > > > > Anything wrong with my mapping? Any ideas how to solve this? I could replace > the array with a Position class containing the coordinates, but I would > prefer not to change the file format. > > Best regards > > / Fredrik Johansson > > > > > > __________________________________________________________ > Går det långsamt? Skaffa dig en snabbare bredbandsuppkoppling. > Sök och jämför priser hos Kelkoo. > http://www.kelkoo.se/c-100015813-bredband.html?partnerId=96914325 --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

