-
1. Re: External web service - Could not initialize class AxisClient
jecalvert Nov 11, 2010 1:40 PM (in response to srnar@volny.cz)Having just dealt with this, I believe that you'll find the AxisClient can't initialize because it defines a static LogFactory and the logging mechanism for Axis1 is completely hosed.
This JIRA issue was very illuminating:
http://issues.ops4j.org/browse/PAXLOGGING-58
Essentially what I did was tear open the Axis jar, and drop in the fixed LogFactory class. There was one other barrier to getting Axis1.4 working in FUSE 4.3. Axis has a dependency on javax.xml.rpc, so I snatched this bundle from the Spring EBR:
What this bundle does NOT do is export javax.xml.namespace, although it contains javax.xml.namespace.QName. The base FUSE package provides the javax.xml.namespace package, so you get a nice error like this:
java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) previously initiated loading for a different type with name "javax/xml/namespace/QName"
Of course, you don't know who the culprit is; so what I did, very crudely, was grep the bundles for QName and then compare this against a packages:imports | grep 'javax.xml.namespace'. Once I did that, the jig was up.
The lesson for today might be that you should avoid Axis like the plague! I wouldn't be messing with it if I could avoid it.
-
2. Re: External web service - Could not initialize class AxisClient
paul.berry May 10, 2012 5:06 AM (in response to jecalvert)I realise this is an old issue, but I don't suppose anyone has a 'fixed' Axis1.4 Jar for this issue? I'm having difficulty applying the patch discussed in the link (mostly use to me never having built anything using Ant, and this being an old issue) so if anyone has a Jar I could throw in as a workaround for this issue I'd be mopst grateful.