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
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to