最近小组在研究一些新技术,包括了Rest,把学习的一些心得写下来,本文关注的是如何用axis2发布简单的Rest。
1. 从 http://ws.apache.org/axis2/download/1_4_1/download.cgi 下载最新的axis2版本
2. 从 http://tomcat.apache.org/download-60.cgi 下载tomcat服务器
3. 配置好tomcat服务器,确保tomcat没问题
4. 解压缩axis2-1.4.1-war.zip,拷贝axis2.war到tomcat下webapps目录,启动tomcat,输入url http://localhost/axis2/ ,可以查看web service服务的状态,通过 http://localhost/axis2/axis2-admin ,可以登陆axis2后台管理界面,可以停止,启动,上传服务等,默认用户为admin,密码为axis2。
5. 在Eclipse下新建工程Research,结构如图:
AxisRest.java
建立文件META-INF/services.xml,类容如下:
建立build.xml,采用ant进行构建
为了方便,不想通过axis2后台上传服务,所以先解压axis2.war文件,然后把axis2文件名重命名为axis2.war.
通过Eclipse发布工程后,就可以通过rest来访问服务了吧,访问 http://localhost/axis2/services/rest/WelComeRest ,效果如图:
访问 http://localhost/axis2/services/rest/getCityList ,效果如图:
简单吧, 未完待续......
1. 从 http://ws.apache.org/axis2/download/1_4_1/download.cgi 下载最新的axis2版本
2. 从 http://tomcat.apache.org/download-60.cgi 下载tomcat服务器
3. 配置好tomcat服务器,确保tomcat没问题
4. 解压缩axis2-1.4.1-war.zip,拷贝axis2.war到tomcat下webapps目录,启动tomcat,输入url http://localhost/axis2/ ,可以查看web service服务的状态,通过 http://localhost/axis2/axis2-admin ,可以登陆axis2后台管理界面,可以停止,启动,上传服务等,默认用户为admin,密码为axis2。
5. 在Eclipse下新建工程Research,结构如图:
AxisRest.java
package research.rest; import java.util.ArrayList; import java.util.List; /** * */ /** * @author 玥儿 * */ public class AxisRest { public String WelComeRest() { return new StringBuffer("Welcome to rest word! ").toString(); } public List<String> getCityList() { List<String> citys = new ArrayList<String>(); citys.add(new StringBuffer("Shanghai").toString()); citys.add(new StringBuffer("Beijing").toString()); citys.add(new StringBuffer("Xi'an").toString()); citys.add(new StringBuffer("Chongqing").toString()); citys.add(new StringBuffer("Tianjin").toString()); return citys; } }
建立文件META-INF/services.xml,类容如下:
<service> <parameter name="ServiceClass" locked="false"> research.rest.AxisRest </parameter> <operation name="WelComeRest"> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> <operation name="getCityList"> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> </service>
建立build.xml,采用ant进行构建
<project name="Rest" basedir="." default="deploy"> <description>Rest use axis2</description> <property name="src.dir" value="${basedir}/src" /> <property name="build.dir" value="${basedir}/bin" /> <property name="war.dir" value="D:\programing\tomcat\webapps\axis2.war" /> <property name="deploy.dir" value="${war.dir}\WEB-INF\services" /> <property name="deploy.temp" value="${basedir}/deploy" /> <target name="init"> <echo>Initializing the environment!</echo> <delete dir="${deploy.temp}" /> <delete dir="${build.dir}" /> <mkdir dir="${deploy.temp}" /> <mkdir dir="${build.dir}" /> </target> <target name="jar" depends="init"> <echo>Compressing files to .aar file!</echo> <javac srcdir="${src.dir}" destdir="${build.dir}"> </javac> <jar basedir="${basedir}/bin" destfile="${deploy.temp}/rest.aar"> <fileset dir="${basedir}" id="META-INF"> <include name="META-INF/services.xml" /> </fileset> </jar> </target> <target name="deploy" depends="jar"> <echo>Deploying service!</echo> <copy todir="${deploy.dir}"> <fileset dir="${deploy.temp}"> <include name="rest.aar" /> </fileset> </copy> </target> </project>
为了方便,不想通过axis2后台上传服务,所以先解压axis2.war文件,然后把axis2文件名重命名为axis2.war.
通过Eclipse发布工程后,就可以通过rest来访问服务了吧,访问 http://localhost/axis2/services/rest/WelComeRest ,效果如图:
访问 http://localhost/axis2/services/rest/getCityList ,效果如图:
简单吧, 未完待续......