用Axis开发Webservice
Axis是Apache的一个开源web service引擎。它目前最为成熟的开源web service引擎之一。下面我主要介绍一下如何使用该Axis开发您的web service 服务。
?
1.安装
?
以tomcat4.1为服务器,下面说明如何安装axis: ?? 1.解压下载后的包,将包中axis目录复制到tomcat目录下的webapps目录下; ?? 2.将axis/WEB-INF/lib目录下类文件复制到tomcat目录下的common/lib目录下; ?? 3.重新启动tomcat; ?? 4.访问http://localhost:8080/axis/happyaxis.jsp,如果能访问,表示安装成功;
?
2.开发webservice服务
?
a.编写普通类文件,如下所示: //文件名:Test.java import java.util.*;
?
public class Test{ ??? //fields ??? private??? String name="gaga"; ??? private int age=20; ??? private List items=new ArrayList(); ??? ??? ??? //method at here. ??? public String getName(){ ??????? return name; ??? } ??? ??? public int getAge(){ ??????? return age; ??? } ??? ??? public List getItems(){ ??????? return items; ??? } } 将本文件(Test.java)复制到Axis目录下,并将其更名为Test.jws; b.访问http://localhost:8080/axis/Test.jws,Axis就会编译该文件,并将其部署到系统中; 下面你就可以开发web service的客户端程序了;
?
?
3.开发客户端程序
?
下面是客户端程序: import org.apache.axis.client.*; import org.apache.axis.client.Call; import org.apache.axis.client.Service;
?
import javax.xml.namespace.QName;
?
?
public class TestWebService{ ??? ??? public static void main(String args[]){ ??????? ??????? System.out.println("Start invoking...."); ??????? ???????? try { ???????????? String endpoint = ????????????????????? "http://localhost:8080/axis/Test.jws";//你写的那个文件 ??????? ???????????? Service? service = new Service(); ???????????? Call???? call??? = (Call) service.createCall(); ??????? ???????????? call.setTargetEndpointAddress( new java.net.URL(endpoint) ); ???????????? call.setOperationName("getAge");//填写你要调用的方法名称 ?????? ???? int ret =Integer.parseInt(("" + call.invoke( new Object[] {} ))); ??????????? ??????????? System.out.println(ret); ???????????? ???????? } catch (Exception e) { ???????????? System.err.println(e.toString()); ???????? } ??? ??????? ??? ????System.out.println("Finished the invoking.");??????? ??????? ??? } ??? }
?
关于业务调用封装到服务端程序里,然后部署就可以了,就这么简单。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angular2路由 – 浏览到不刷新组件的同一路由?
- state-management – 如何在NGXS中使用patchStat
- angularjs – 如何使用SystemJS将角度TypeScript
- 3.4Bootstrap学习组件篇之导航、标签、面包屑导航
- angularjs – angular ui-router嵌套解析无法解析
- About bash_profile and bashrc on macOS and hi
- 8_InlineHook
- 如何在Angular 2中迭代JSON对象?
- Bash/sh – \u0026\u0026和之间的区别?
- scala – Redis on Spark:任务不可序列化