I am developing several Java Web Services (Bottom-Up) using Eclipse Ganymede, Apache Tomcat v5.5 and Apache Axis.
When I first started working on the web services I was using the older version of Axis. Creating the web services from the Java classes I developed was not a problem. I used the wizards provided by Eclipse and WSDL was created fine, the service appeared to have been published and synchronized to Tomcat properly and I was able to create a client app to test the web services by creating the client Java code from the generated WSDL. However, when I attempted to access the web services from the client test app I would get the following error: org.apache.axis.Internal <init> SEVERE: Exception: java.lang.Exception: The OperationDesc for IPublishEvent was not synchronized to a method of edu.monmouth.rri.ahett.pubwebservice.PublisherWebService. After much research I could not find a resolution to this problem that met my needs (there were examples of the client code not using the correct arguments in a web service method call and others but none appeared to apply to the problem I was having). Next I attempted to switch from using Axis v1.x to Axis2. I read all of the installation available on the Apache Axis2 web site as well as some other information I found on the web. The first problem I encountered was the proper place to put the axis2.war file since I wanted to continue using Axis2 with my installed Tomcat servlet container. I installed Tomcat from Eclipse and it appears that there are several separate folders that contain Tomcat installation files: C:\Program Files\common C:\Program Files\conf C:\Program Files\server C:\Program Files\webapps The instructions for installing Axis2 say to put the axis2.war file in the webapps Tomcat folder. However my installation from Eclipse appears to have two webapps folders C:\Program Files\server\webapps and C:\Program Files\webapps. I tried placing axis2.war in each separately, starting Tomcat and following the instructions in the installation documentation to verify that Axis2 was installed correctly, that is I tried to launch http://localhost:8080/axis2 but received a message from Tomcat that the resource was not available. Next I set all my Eclipse settings to use Axis2 and regenerated my web services. This caused an axis2-web folder to be created in the Web Content folder of my Eclipse project. This did not look like the place where this folder belonged so I moved it to the Tomcat installation folder C:\Program Files\server\webapps. Once again when I tried to verify a correct installation of Axis2 as per the documentation I got the same message as earlier from Tomcat. Could someone please explain the proper way to configure and use Axis2 with Tomcat and Eclipse for web service development? Also it appears that Axis2 now requires two steps to complete web service development and deployment where Axis v1.x only needed one, that is generating the web service with Axis2 publishes the web service to Tomcat but does not create a WSDL file. I have seen that a WSDL2Java and Java2WSDL Axis2 plug-in is available and will do this. Is this required? And is the Axis2 Archiver plug-in also required? If so, how is it used in the Axis2 web service development process? Sorry this is lengthy, but I need to get these problems resolved to get my project back on track. Thanks, Mike Tarullo
