FYI I worked around this problem by changing the intermediate class to an interface. However, I'm still puzzled as to why that would be required. Is this a bug in JiBX?
------------------------------------------------------------------- Dan Cooperstock, Senior Software Developer, Quest Software 260 King St. E., Toronto ON Canada M5A 4L5 [EMAIL PROTECTED] 416-933-5165 With Quest Software, you can expect more ... more performance, more productivity, more value from your IT investments. Visit www.quest.com to learn how. -----Original Message----- From: Dan Cooperstock Sent: Friday, March 10, 2006 4:05 PM To: '[email protected]' Subject: IllegalAccessError in a JiBX Method I'm getting the following stack trace when I run some code that uses JiBX: java.lang.IllegalAccessError at com.quest.wcf.core.module.flow.ChooseValueReaction.JiBX_module_unmarshal _3_0(ChooseValueReaction.java) at com.quest.wcf.core.module.flow.JiBX_moduleChooseValueReaction_access.unm arshal() at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(Unknown Source) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(Unknown Source) at com.quest.wcf.core.util.jibx.JiBXSerializer.load(JiBXSerializer.java:95) ... In the binding, there is an abstract binding for Reaction, and a binding that extends it for ChooseValueReaction. The only thing that has changed since the code was working (I think) is that I have interposed another abstract Java class between the abstract class Reaction and the class ChooseValueReaction. I don't mention that class in the binding. I had also tried this with the interposed abstract class having an abstract binding of its own (extending the abstract binding for Reaction), and the binding for ChooseValueReaction extending it. That gave an error in the JiBX binding process. Here's the relevant part of the current binding: <mapping class="com.quest.wcf.core.module.flow.Reaction" abstract="true"> <structure field="context" usage="optional" marshaller="com.quest.wcf.core.context.ContextMarshaller" unmarshaller="com.quest.wcf.core.context.ContextMarshaller"/> </mapping> <mapping name="choose-value" class="com.quest.wcf.core.module.flow.ChooseValueReaction" extends="com.quest.wcf.core.module.flow.Reaction"> <value name="key" field="contextKey"/> <structure map-as="com.quest.wcf.core.module.flow.Reaction"/> <structure field="cases" usage="optional" name="case" marshaller="com.quest.wcf.core.module.flow.CaseMarshaller" unmarshaller="com.quest.wcf.core.module.flow.CaseMarshaller"/> <structure name="default"> <structure field="defaultReaction"/> </structure> </mapping> Any help would be greatly appreciated! Thanks. ------------------------------------------------------------------- Dan Cooperstock, Senior Software Developer, Quest Software 260 King St. E., Toronto ON Canada M5A 4L5 [EMAIL PROTECTED] 416-933-5165 With Quest Software, you can expect more ... more performance, more productivity, more value from your IT investments. Visit www.quest.com to learn how. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ jibx-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jibx-users
