10

The error is:

Exception occurred while reading or writing file {0}The Axis2 facets cannot be installed since the Axis2 runtime location has not been set. Go to the Web Services preference page and set the Axis2 runtime location under Axis2 Preferences.

In the preferences mentioned, the location is set correctly and in fact, it says "Axis2 runtime loaded successfully" after loadign the correct runtime location. So what's going on? Any solutions other than re-installing eclipse or creating a new workspace?

I am using Axis2 1.4.1 and eclipse.

Ayrad
  • 3,996
  • 8
  • 45
  • 86

7 Answers7

17

Re-check your axis version used with Eclipse (to be sure), as illustrated by this thread.

And try the procedure described here, and illustrated by this tutorial.

Choose the Axis2 war file's folder location in the Eclipse dialog at:

Window -> Preferences -> Web Services -> Axis2 Emitter 

Or if it still does not work:

Actually we found out that if you simply create a dummy web service with Axis2, the problem will also go away

Or:

It happens when your org.apache.axi2.facet plugin directory is corrupted (missing exploadedwar?).
The best way to fix this is copy over a good copy of that from another workspace (create a new one) over your existing workspace. You can find the directory at /.metadata/.plugins/org.apache.axis2.facet.

Axis2 Preferences

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • The last suggestion led me to the right path I replaced the explodedwar folder and edited the path directly in the config file so that axis doesn't find it anymore. Somehow it registered with the eclipse preference and it started working. Thanks for the complete answer. – Ayrad Feb 10 '10 at 17:19
  • This answer saved me from going insane. Wiped the whole workspace and it works again. *phew* – Patrick Oct 29 '11 at 14:48
  • I am facing the same problem. and in my case I am unable to see Axis2 Emitter tag in Preference Screen. I am using eclipse Helios. Can any one help? – Naved Sep 13 '13 at 05:19
  • @Naved you should make that as an independent question, for more experts to have a look at. – VonC Sep 13 '13 at 05:27
5

Dobedani,

First download this file Apache Axis 2 Runtime Binary extract the file contents, goto window -> preferences -> web services -> Axis 2 preferences and look for the extracted folder, make sure you select the folder that contains the bin folder.

Ohh, i forgot to mention you have to add the Axis 2 facetes to your project to complete the fix, goto project properties -> project factes -> Modify project and add the Axis 2 Facets which were installed on the prior step.

That's it.

Israelm
  • 1,607
  • 3
  • 23
  • 28
4

just created a new dynamic web project and created a class then created a new web service from it, then imorted the old web service which worked this time

abualy
  • 131
  • 1
  • 3
1

The way it worked for me is slightly different. After I copied the exploadedwar folder I deleted all axis related jar files from \lib and copied them from original axis2-1.6.1\lib. It worked..

Jayku
  • 51
  • 1
  • 8
1

I had a similar problem and followed the instructions here, but still had problem, I finally checked Window->Preference->WebService->Server and Runtime and changed to read Axis 2 and change Web service runtime to Apache Axis2

Dane
  • 11
  • 1
0

Sorry, but I didn't find the explanations on the web very clear. For less nerdy developers like myself I would like to add that Axis2 cannot be installed via the Eclipse update manager: you need to indeed download and install Axis2 yourself. There are additional plugins available though that can be installed with the update manager: Axis2 Tools & SDK. BTW, I found a directory org.apache.axis_1.4.0.v200905122109 in my plugins folder but that is old stuff. HTH Kind regards, Dobedani

Dobedani
  • 1
  • 1
0

If you already configured axis2 correctly. Try to create a new dynamic web project, create a test class, create a web service, doing this eclipse will automatically "adjust" axis2. That's it. Now just go back to your original project and try to create again.