On Fri, Apr 27, 2007 at 10:18:03AM -0500, Davies, Joshua wrote:
> It look as if (somehow) com.echomine.jabber.packet.DiscoverQueryIQPacket
> is being loaded from a different classpath entry than the
> "JiBX_MungeAdapter". You said you were developing an extension; my best
> guess from the stack trace below is that you're loading
> "DiscoverQueryIQPacket" from your extension's "build" directory, but the
> JiBX_MungeAdapter is coming from a .jar somewhere (that was comipiled
> sometime long ago). Most likely, you'll need to re-run jibx on the
> whole mess and make sure that none of the old classes are loaded from
> .jars.
>
> Like I said, though, I'm just guessing from the stack trace; if you
> want, post more details on exactly what you're doing, and I'll see if I
> can offer any more clues.
I decompiled classes generated by JiBX, and found interesting thing:
JiBX_MungeAdapter.jad contains method:
public static ArrayList
JiBX_jep_0030_binding_newinstance_1_0(UnmarshallingContext arg1)
throws JiBXException
{
return new ArrayList();
}
in the DiscoveryQueryIQPacket this method is invoked at
public final DiscoveryQueryIQPacket
JiBX_jep_0030_binding_unmarshal_3_0(UnmarshallingContext arg1)
throws JiBXException
{
arg1.pushTrackedObject(this);
this;
boolean var0[] = new boolean[2];
do
{
ArrayList arraylist;
ArrayList arraylist1;
if(arg1.isAt("http://jabber.org/protocol/disco#info", "feature"))
{
if(var0[0])
arg1.throwNameException("Duplicate element ", null,
"(unknown name, position 0 in binding structure)");
var0[0] = true;
features = arg1.isAt("http://jabber.org/protocol/disco#info",
"feature") ?
(List)JiBX_MungeAdapter.JiBX_jep_0030_binding_unmarshal_1_0((arraylist =
(ArrayList)(ArrayList)features) != null ? arraylist :
JiBX_MungeAdapter.JiBX_jep_0030_binding_newinstance_1_0(arg1), arg1) : null;
} else
if(arg1.isAt("http://jabber.org/protocol/disco#info", "identity"))
{
if(var0[1])
arg1.throwNameException("Duplicate element ", null,
"(unknown name, position 1 in binding structure)");
var0[1] = true;
identities = arg1.isAt("http://jabber.org/protocol/disco#info",
"identity") ?
(List)JiBX_MungeAdapter.JiBX_jep_0030_binding_unmarshal_1_1((arraylist1 =
(ArrayList)(ArrayList)identities) != null ? arraylist1 :
JiBX_MungeAdapter.JiBX_jep_0030_binding_newinstance_1_0(arg1), arg1) : null;
} else
{
arg1.popObject();
return this;
}
} while(true);
}
So I have absolutely no idea, why it throws that weird exception about
missing method..
I'm using jibx-run 1.1 and JDK 1.5, if that matters
--
Eugene N Dzhurinsky
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users