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

