Axis安裝指導

     我們可以從axis的官方網站上下載(http://ws.apache.org/axis/).解壓縮axis-bin-1_3.zip。在lib中包含axis必須使用的jar包。docs中包含axis的文檔,通常使用用戶指南就可以解決大部分問題。samples中包含很多webservice的例子,以後會對這些例子進行進一步講解。webapps文件夾中包含了一個axis web application你可以直接把他部署到tomcat中,然後在這個axis應用上發佈你的webservice,發佈成功後就可以調用了。build文件夾用來存放用ant編譯的axis安裝包的classes文件。

     第一個步驟:安裝axis.( Axis 1.3,tomcat 5.028, jdk 1.42)

copy  axis-bin-1_3安裝包下webapps文件夾中的axis目錄到tomcatwebapps下發布你的axis應用。重新啓動tomcat.訪問http://localhost:8080/axis 。這時就會出現axis的歡迎畫面.進入Validation鏈接以檢查axis所使用的jar包是否全都存在。如果不存在就會顯示一下畫面:

我們可以根據鏈接下載axis缺少的jar文件,下載之後copytomcat/webapps/myaxis/WEB-INF/lib下即可。一般情況下還會有一些warning消息,裏面列出的的選項不是必須存在的jar包。當所有必須的jar文件全部安裝完畢,則會出現以下畫面。

表示axis已經具備所有需要的jar文件!

 


 第二步驟:測試axis

  在測試axis之前我們需要一些準備工作。我們首先要把axis用到的jar包添加到CLASSPATH環境變量中去。如下:

C:/tomcat5/webapps/axis/WEB-INF/lib/axis.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/jaxrpc.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/saaj.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/commons-discovery-0.2.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/commons-logging-1.0.4.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/wsdl4j-1.5.1.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/activation.jar;

C:/tomcat5/webapps/axis/WEB-INF/lib/mail.jar

注意路徑是根據自己部屬情況而定,上面的只是參考。

我們通過JWS (Java Web Service)文件的方式來發佈一個webservice。首先在安裝包的axis-bin-1_3/axis-1_3/samples/userguide/example2目錄下找到Calculator .java文件,將其改名爲Calculator .jws然後copytomcatwebapps/axis/下。發佈這個webservice。這個webservice提供了兩個功能即加減功能。

Webservice code:

public class Calculator {

  public int add(int i1, int i2)

  {

    return i1 + i2;

  }

 

 

  public int subtract(int i1, int i2)

  {

    return i1 - i2;

  }

}

Client code:

package samples.userguide.example2 ;

 

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.rpc.ParameterMode;

 

public class CalcClient

{

   public static void main(String [] args) throws Exception {

       Options options = new Options(args);

      

       String endpoint = "http://localhost:" + options.getPort() +

                         "/axis/Calculator.jws";

      

       args = options.getRemainingArgs();

      

       if (args == null || args.length != 3) {

           System.err.println("Usage: CalcClient arg1 arg2");

           return;

       }

      

       String method = args[0];

       if (!(method.equals("add") || method.equals("subtract"))) {

           System.err.println("Usage: CalcClient arg1 arg2");

           return;

       }

      

       Integer i1 = new Integer(args[1]);

       Integer i2 = new Integer(args[2]);

 

       Service  service = new Service();

       Call     call    = (Call) service.createCall();

 

       call.setTargetEndpointAddress( new java.net.URL(endpoint) );

       call.setOperationName( method );

       call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN );

       call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );

       call.setReturnType( XMLType.XSD_INT );

 

       Integer ret = (Integer) call.invoke( new Object [] { i1, i2 });

      

       System.out.println("Got result : " + ret);

   }

}

 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章