Werner: Here's the full stack trace:
java.lang.ClassCastException: org.exolab.castor.types.AnyNode at com.osc.services.TestXmlMarshallingService.testShouldUnMarshallEmailHashesXML(TestXmlMarshallingService.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) On Thu, May 27, 2010 at 3:08 AM, Werner Guttmann <[email protected]>wrote: > Hi, > > without a stack trace, it will be almost impossible to say anything. > > lG. > Werner > > > On 26.05.2010 23:10, pablo fernandez wrote: > >> Werner, >> >> Thanks a lot for the quick response. I've added those attributes and the >> marshalling goes smoothly. >> >> Sadly when trying to unmarshall I get this exception: >> >> java.lang.ClassCastException: com.linkedin.osc.model.EmailHashEntry >> >> >> On Wed, May 26, 2010 at 12:57 PM, Werner Guttmann<[email protected] >> >wrote: >> >> Hi, >>> >>> >>> On 26.05.2010 21:39, pablo fernandez wrote: >>> >>> Guys, >>>> >>>> I have this Xml: >>>> >>>> <hashedAddresses> >>>> <personAddress index='1'> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> </personAddres> >>>> <personAddress index='2'> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> <hashedAddress>asdfasdf</hashedAddress> >>>> </personAddres> >>>> </hashedAddresses> >>>> >>>> That I want to unmarshall in this class: >>>> >>>> >>>> public class EmailHashEntry { >>>> >>>> private int index; >>>> private List<String> hashes; >>>> >>>> public EmailHashEntry() { >>>> >>>> } >>>> >>>> public void setHashes(List<String> hashes) { >>>> this.hashes = hashes; >>>> } >>>> >>>> public void setIndex(int index) { >>>> this.index = index; >>>> } >>>> >>>> public List<String> getHashes() { >>>> return hashes; >>>> } >>>> >>>> public int getIndex() { >>>> return index; >>>> } >>>> } >>>> >>>> Using this MAPPING: >>>> >>>> <?xml version="1.0"?> >>>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" >>>> " >>>> http://castor.org/mapping.dtd"> >>>> <mapping> >>>> <class name="com.linkedin.osc.model.EmailHashEntry"> >>>> >>>> <map-to xml="hashedAddresses"/> >>>> >>>> <field name="index"> >>>> <bind-xml name="index" node="attribute" /> >>>> </field> >>>> >>>> <field name="hashes"> >>>> <bind-xml name="hashAddress" location="personAddresses" >>>> node="element" /> >>>> </field> >>>> >>>> </class> >>>> </mapping> >>>> >>>> >>>> PROBLEM: >>>> >>>> java.lang.IllegalArgumentException: list is not a valid >>>> FieldMappingCollectionType >>>> >>>> I adding "collection='arraylist'" to the mapping and got a NPE. >>>> >>>> Well, you will need to specify two things in your<field> mapping for >>> 'hashes'. Its type: string and that it is a collection, using e.g. >>> arraylist >>> as default type. >>> >>> I hope this helps. >>> >>> Werner >>> >>> >>>> Thanks >>>> >>>> >>>> >>

