1.axis服務器包的校驗。
  到http://ws.apache.org/下載axis后,解壓,拷貝axis到tomcat的webapps目錄下。啟動tomcat,運行http://localhost:8080/axis
  點擊“validation”,程序會檢測少的包,并提示下載路徑。我目前包含的包如下:
    axis.jar;                              
 axis-ant.jar;                          
 axis-schema.jar;                       
 commons-discovery-0.2.jar;             
 commons-httpclient-3.0-rc2.jar;        
 commons-logging-1.0.4.jar;             
 jaxrpc.jar;                            
 log4j-1.2.8.jar;                       
 saaj.jar;                              
 wsdl4j-1.5.1.jar;                      
 activation.jar;                        
 mail.jar    

2.環境變量的配置
  其實運行axis是不用配置環境變量的。但有的時候需要利用axis提供的一些工具,產生一些文件,需要應用很多包,利用ClassPath就比較方便了。
  AXIS_HOME:
  AXIS_LIB:
  AXISCLASSPATH:
 
3.把axis集成 到項目中
  a、把上面所提到的包拷貝到項目相應的lib目錄中
  b、修改web.xml文件,增加所需的servlet配置
  <servlet>
  <servlet-name>AxisServlet</servlet-name>
  <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
 </servlet>

 <servlet>
  <servlet-name>AdminServlet</servlet-name>
  <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
  <load-on-startup>100</load-on-startup>
 </servlet>

 <servlet>
  <servlet-name>SOAPMonitorService</servlet-name>
  <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
  <init-param>
   <param-name>SOAPMonitorPort</param-name>
   <param-value>5001</param-value>
  </init-param>
  <load-on-startup>100</load-on-startup>
 </servlet>

 <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>/servlet/AxisServlet</url-pattern>
 </servlet-mapping>

 <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>*.jws</url-pattern>
 </servlet-mapping>

 <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>/services/*</url-pattern>
 </servlet-mapping>

 <servlet-mapping>
  <servlet-name>SOAPMonitorService</servlet-name>
  <url-pattern>/SOAPMonitor</url-pattern>
 </servlet-mapping>

 <session-config>
  <session-timeout>5</session-timeout>
 </session-config>

 <mime-mapping>
  <extension>wsdl</extension>
  <mime-type>text/xml</mime-type>
 </mime-mapping>

 <mime-mapping>
  <extension>xsd</extension>
  <mime-type>text/xml</mime-type>
 </mime-mapping>
  
4.服務發布(jws文件發布和定制發布)
  a、jws文件發布
  在web應用程序目錄下,新建一個jws文件,例如:Hello.jws文件(其實就是個java文件,不包含包名)。 
  public class Hello {
 public String hello(String name){
  if(name==null){
   name="";
  }
  return "Hi,你好 "+name+",歡迎來到Web服務世界!";
 }
  }
  這樣就可以直接查看hello服務相應的wsdl了:http://localhost:8080/testaxis/hello.jws?wsdl
 
  b.定制發布。
  定制發布,依賴一個server-confif.wsdd文件。
  在web-inf目錄下新建一個deploy.wsdd文件,設置發布的服務,例如:
  <deployment xmlns="            xmlns:java="    <service name="city" provider="java:RPC">
      <parameter name="className" value="yhp.test.axis.service.CityService"/>
      <parameter name="allowedMethods" value="*"/>
    </service>
  </deployment>
 
  利用axis提供的工具,就可以生成server-confif.wsdd文件了:
  java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
  在運行過程中發現:如果沒有把axis自帶的應用發布到服務器上,運行時會提示404的錯誤,未發現axis/servlet/AxisServlet。

5.客戶端調用
        String endpoint = "
http://localhost:" + "8080"
    + "/testaxis/services/city";  //以定制發布方式,如果是jws文件,則endpoint為相應的jws文件

  Service service = new Service();
  Call call = (Call) service.createCall();
  call.setTargetEndpointAddress(new java.net.URL(endpoint));
  call.setOperationName("getZip");

  String res = (String) call.invoke(new Object[] {""});//object數組為遠程方法的參數 

  System.out.println(res);
  
6.生成客戶端stub相關類
   Axis提供了工具生成客戶端stub相關的類,即通過wsdl產生stub。
   java -cp %AXISCLASSPATH% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/testaxis/services/city?wsdl