Hallo,
beim Deserialisieren über XStream aus einer XML bekomme ich eine ConversionException und weiß nicht, wie ich nun weitermache mit der Fehlersuche. Es geht um eine OSGi-Anwendung, die entsprechenden jars bzw Bundles sind meiner Meinung nach alle vorhanden.
Das Serialisieren klappt wunderbar, auch aus den Hibernate-Objekten. Nur beim Deserialisieren hauts nicht hin...
Die XML-Stelle, an der es abbricht, ist hier (bei "Zeile 7"):
[XML]<entry>
<db.hibernateobjects.VersuchsfallValidierungsziel>
<id>344</id>
<versuchsfall reference="../../../../.."/>
<validierungsziel>
<id>22</id>
<topziel class="db.hibernateobjects.Topziel_$$_javassist_10" reference="../../../../entry/db.hibernateobjects.VersuchsfallValidierungsziel/validierungsziel/topziel"/>
<sortierung>2</sortierung>
<bezeichnung>Änderung des Beschleunigungsverhaltens</bezeichnung>
<messgroessenValidierungsziels class="org.hibernate.collection.PersistentSet">
<initialized>false</initialized>
<owner class="db.hibernateobjects.Validierungsziel" reference="../.."/>
<cachedSize>-1</cachedSize>
<role>db.hibernateobjects.Validierungsziel.messgroessenValidierungsziels</role>
<key class="int">22</key>
<dirty>false</dirty>
</messgroessenValidierungsziels>
<versuchsfallValidierungsziels class="org.hibernate.collection.PersistentSet">
<initialized>false</initialized>
<owner class="db.hibernateobjects.Validierungsziel" reference="../.."/>
<cachedSize>-1</cachedSize>
<role>db.hibernateobjects.Validierungsziel.versuchsfallValidierungsziels</role>
<key class="int">22</key>
<dirty>false</dirty>
</versuchsfallValidierungsziels>
</validierungsziel>
<zuordnung>x</zuordnung>
</db.hibernateobjects.VersuchsfallValidierungsziel>
<db.hibernateobjects.VersuchsfallValidierungsziel reference="../db.hibernateobjects.VersuchsfallValidierungsziel"/>
</entry>[/XML]
Mein Code an der Stelle besteht eigentlich nur aus zwei Zeilen, mehr braucht man bei XStream ja *eigentlich* nicht:
Hat jemand einen Tipp oder kennt dieses Problem?
Wenn ich noch mehr Informationen posten soll, bitte Bescheid geben... ist mein erster Eintrag hier
beim Deserialisieren über XStream aus einer XML bekomme ich eine ConversionException und weiß nicht, wie ich nun weitermache mit der Fehlersuche. Es geht um eine OSGi-Anwendung, die entsprechenden jars bzw Bundles sind meiner Meinung nach alle vorhanden.
Code:
Exception in thread "main" com.thoughtworks.xstream.converters.ConversionException: db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10
---- Debugging information ----
message : db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10
class : db.hibernateobjects.Drehbuch
required-type : db.hibernateobjects.Validierungsziel
path : /db.hibernateobjects.Drehbuch/randbedingungen/versuchsfall/versuchsfallValidierungsziels/storedSnapshot/entry[4]/db.hibernateobjects.VersuchsfallValidierungsziel/validierungsziel/topziel
line number : 421
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:75)
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
at rog.MyClass.myMethod(MyClass.java:17)
at rog.MyClass.main(MyClass.java:31)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: db.hibernateobjects.Topziel_$$_javassist_10 : db.hibernateobjects.Topziel_$$_javassist_10
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:68)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:71)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:86)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:96)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:52)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:333)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:208)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
... 47 more
Das Serialisieren klappt wunderbar, auch aus den Hibernate-Objekten. Nur beim Deserialisieren hauts nicht hin...
Die XML-Stelle, an der es abbricht, ist hier (bei "Zeile 7"):
[XML]<entry>
<db.hibernateobjects.VersuchsfallValidierungsziel>
<id>344</id>
<versuchsfall reference="../../../../.."/>
<validierungsziel>
<id>22</id>
<topziel class="db.hibernateobjects.Topziel_$$_javassist_10" reference="../../../../entry/db.hibernateobjects.VersuchsfallValidierungsziel/validierungsziel/topziel"/>
<sortierung>2</sortierung>
<bezeichnung>Änderung des Beschleunigungsverhaltens</bezeichnung>
<messgroessenValidierungsziels class="org.hibernate.collection.PersistentSet">
<initialized>false</initialized>
<owner class="db.hibernateobjects.Validierungsziel" reference="../.."/>
<cachedSize>-1</cachedSize>
<role>db.hibernateobjects.Validierungsziel.messgroessenValidierungsziels</role>
<key class="int">22</key>
<dirty>false</dirty>
</messgroessenValidierungsziels>
<versuchsfallValidierungsziels class="org.hibernate.collection.PersistentSet">
<initialized>false</initialized>
<owner class="db.hibernateobjects.Validierungsziel" reference="../.."/>
<cachedSize>-1</cachedSize>
<role>db.hibernateobjects.Validierungsziel.versuchsfallValidierungsziels</role>
<key class="int">22</key>
<dirty>false</dirty>
</versuchsfallValidierungsziels>
</validierungsziel>
<zuordnung>x</zuordnung>
</db.hibernateobjects.VersuchsfallValidierungsziel>
<db.hibernateobjects.VersuchsfallValidierungsziel reference="../db.hibernateobjects.VersuchsfallValidierungsziel"/>
</entry>[/XML]
Mein Code an der Stelle besteht eigentlich nur aus zwei Zeilen, mehr braucht man bei XStream ja *eigentlich* nicht:
Java:
xStream = new XStream();
context.getControlServiceImpl().setDrehbuch((Drehbuch)xStream.fromXML(xmlDrehbuch));
Hat jemand einen Tipp oder kennt dieses Problem?
Wenn ich noch mehr Informationen posten soll, bitte Bescheid geben... ist mein erster Eintrag hier