Software & Development

axis2 codegen wizard (Eclipse) – InvocationTargetException

There is a known problem with InvocationTargetException when you press Finish button in Eclipse’s Axis code generation wizard. I don’t know why there is no newer version available, however the steps are pretty straightforward. There is also a ready to deploy zip file available here. However, you have to register to download it.

I had trouble following the steps, because there is no backport-utils package anymore in axis2-bin/lib directory. Also, I tried to register the jar in plugin.xml over and over again just to find out that stupid PSPad didn’t save the changes, because there are windows7 permission and stuff.

By the way, funny thing is that the directory name is 1.3.0 even for version  1.4.1..

So, if you are as lazy as me, here get the fixed Axis2_Codegen_Wizard_1.4.1. Yes, it is a direct link, no more stupid forums where you need registration and wait 7 days until you are allowed to do anything.




NOTE: please note there is a version 1.6.2 of the plugin that works just fine!

Software & Development

AXIS SOAPFaultBuilder throws DOMException WRONG_DOCUMENT_ERR

Did you try to use Axis to connect to a remote web service? Do you get “SOAPFaultBuilder throws DOMException WRONG_DOCUMENT_ERR” error?

Well, it’s a well known bug that’s been fixed. However, the fix has not been included in any released version (that’s since 2006). You have to download the sources, add one line, change the next one and then build it on your own (the error is received when xml node was added to document node before it’s been imported into the DOM). So far so good.

The issue is that Axis is written in Java 1.4. Java 1.6 (current JDK 1.6) insists on using 1.6 version of abstract classes (e.g. javax.xml.soap.SOAPMessage) even if you specify -source 1.4 switch (if you wonder if the switch is not just ignored then you’re wrong – it isn’t, because you won’t get as many warning as for 1.6 value).

So, you have to use JDK 1.4, but where to get it? You can download it from Sun’s site, but wait – oops, you can’t anymore, because it’s reached the end of service life (ESL).

I found the old JDK 1.4 somewhere on my harddrive and compiled the fixed version for you. If you want it, you can grab it here. Source can be found here. To see the changes check on lines 304-306.