最近小组在研究一些新技术,包括了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 ,效果如图:
简单吧, 未完待续......

