使用AXIS开发Web Service的示例
2)新建web工程 名稱為:axis
拷貝Axis包中 webapps/axis 目錄中的所有文件到工程目錄的 webroot 目錄中,
然后 刷新 工程
新建一個 java 文件,文件名稱為:HelloClient,文件內容如下:
import java.util.List;
import java.util.ArrayList;
public class Hello
{
??? public String getName(String name)
??? {
??????? return "Hello "+ name;
??? }
??? public List getList()
??? {
??? ?List list= new ArrayList();
??? ?list.add(0,"aa");
??? ?list.add(1,"bb");
??? ?list.add(2,"cc");
??? ?return list;
??? }
}
現在拷貝 HelloClient.java 到 webroot 目錄中,并改名稱為 Hello.jws
現在布署工程,并啟動服務
啟動瀏覽器并打開以下鏈接
http://localhost:8080/axis/Hello.jws?wsdl
3)新建一個測試類:代碼如下
?
import java.util.ArrayList;
import java.util.List;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class testAXIS
{
??? public static void main(String[] args)
??? {
??????? try
??????? {
??????????? String endpoint = "http://localhost:9000/axis/Hello.jws";
??????????? Service service = new Service();
???????????
??????????? Call call = null;
??????????? call = (Call) service.createCall();
???????????
??????????? call.setOperationName(new QName(endpoint, "getName"));
??????????? call.setTargetEndpointAddress(new java.net.URL(endpoint));
??????????? String str = (String) call.invoke(new Object[] { " jian" });
??????????? System.out.println(str);
????????????
??????????? //這里是復雜數據類型,需要另外配置call.invoke才能轉換
??????????? //call.setOperationName(new QName(endpoint, "getList"));
???????????// call.setTargetEndpointAddress(new java.net.URL(endpoint));
??????????? //List list = (ArrayList) call.invoke(new Object[] {});
???????????// System.out.println(list.size());
???????????
??????? }
??????? catch (Exception ex)
??????? {
??????????? ex.printStackTrace();
??????? }
??? }
}
注意需要5個JAR包:axis.jar,saaj.jar,jaxrpc.jar,commons-logging-1.0.4.jar,commons-discovery-0.2.jar
總結
以上是生活随笔為你收集整理的使用AXIS开发Web Service的示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【组图】地震前线归来--心中的震撼
- 下一篇: RIAMeeting第六次开发者交流活动