网上看到相关的文档,根着做没有成功,有些细节性的东西网上没有明说,或者有错误,特别是程序代码是有错的,作者或转载者根本没有亲自动手做一下。

     系统平台:Windows+Axis1.3+Tomcat5.5+Eclipse 3.1。

一、搭建环境
  1.下载并安装Tomcat (http://jakarta.apache.org/tomcat/index.html)
  2.下载并安装Axis (http://ws.apache.org/axis/)
  3.下载并安装Eclipse(http://www.eclipse.org/downloads/index.php)
  4.下载tomcat插件(http://www.sysdeo.com/eclipse/tomcatPlugin.html)
  5.下载wsdl2java插件(http://www.myspotter.com/wsdl2java.shtml)
二、安装测试
  1.依照axis的安装指南将%axis_home%/webapps/axis复制到%tomcat_home%/webapps/下,并设置相应的环境变量:
  

 


 

AXIS_HOME = d:\ApacheSF\axis-1_1
AXIS_LIB = %AXIS_HOME%\lib
AXISCLASSES=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\activation.jar

 


 

NOTE:axis1.1的AXIS_LIB下面没有activation.jar文件,可以从 http://java.sun.com/products/javabeans/glasgow/jaf.html 下载添加到AXIS_LIB下。

  注意:此处别直接把以上的内容拷到你的环境变量的值里去,因为jar包的版本可能不同,需留意,此外还要把AXISCLASSES添加到CLASSPATH中去,即在CLASSPATH中加“%AXISCLASSES%”注意别遗漏“;”(此处注意,很多网上的文章是把AXIS_LIB加到CLASSPATH中)
   2.测试axis安装是否成功:
      2.1 访问axis的web application首页 http://localhost:8080/axis/
      2.2 访问http://localhost:8080/axis/happyaxis.jsp 
          显示结果页面会提示缺少那些jar文件,如果之前没有copy过activation.jar文件,这里很可能会看到提示。
    
三、用Eclipse创建两个项目来熟悉Web Services的部署。

   1.在Eclipse中创建一个新项目。
   2.将%AXIS_LIB%下的jar文件全部添加到项目的properties:java_building_path:libraray下。
   3.创建项目文件。
     3.1.创建服务类  MyService.java ,编译后部署在%tomcat_home%/webapps/axis/WEB-INF/classes/目录下;

   MyService.java:

     public class MyService{
           public String serviceMethod(String arg){
                return arg;
          }
    }

     3.2.创建客户类client.java

    client.java:

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class Client{
 public static void main(String [] args){
  try {
   String endpointURL ="http://127.0.0.1:8080/axis/services/MyService";
   Service service = new Service();
   Call call = (Call) service.createCall();
   call.setTargetEndpointAddress(endpointURL);
   call.addParameter("test",XMLType.XSD_STRING,ParameterMode.IN);
   call.setOperationName( "serviceMethod" );
   call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING );
   String ret = (String) call.invoke( new Object[] { new String("Hello world!") } );
   System.out.println("You typed : " + ret);
  } catch (Exception e) {
   System.err.println(e.toString());
  }
 }
}

注意addParameter不能少,且第一个参数不能有空格,!等,很多网上的文章都没有,在我的机子上就不行。

     3.3.创建web services的部署文件deploy.wsdd

       deploy.wsdd:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="MyService" provider="java:RPC">
  <parameter name="className" value="MyService"/>
  <parameter name="allowedMethods" value="*"/>
 </service>
</deployment>
  
 

   4.部署Web服务,选择Run...,主类为外部jar文件中的org.apache.axis.client.AdminClient,设置 arguments为deploy.wsdd(可通过-p 设置tomcat的端口,我用的80,所以参数设为-p 80 deploy.wsdd).然后运行。
   5.运行Client测试部署是否成功。