WebService开发实例(Axis2实现,无需安装,快速实现)

曾经做过的项目里涉及Android客户端向服务器发送请求,服务器访问数据库获得数据并返回给Android客户端。当时Android客户端与服务器的通信已经实现,我只负责客户端布局和数据呈现的部分,近日有遇到类似项目,所以计划完整的研究和实现一下整个通信过程。

目前选择的方案是服务器端开启Webservice,Android客户端通过第三方的ksoap jar包访问,对象传递采用Jason序列化。那么现在遇到的第一个问题就是服务器实现webservice。

接下来上网查资料,选择Axis2,大多都需要安装,事实上我参考上一个项目,很快速的实现了Webservice,下边展示一下这个过程。

1. 首先现在Axis,在http://axis.apache.org/axis2/java/core/download.cgi 我选择的是目前最新的axis2-1.6.2。

2. 创建一个Web Project。起名WebserviceTest。

WebService开发实例(Axis2实现,无需安装,快速实现)

3. 创建一个类

package com.shuai.test;

public class HelloService {
public String sayHello(){
return "hello";
}
public String sayHelloToPerson(String name){
if(name==null){
name = "nobody";
}
return "hello,"+name;
}
}

4. 解压缩下载的axis2-1.6.2,将对应的内容贴到工程中去。

分别是:lib下的jar包复制到WebRoot/WEB-INF/lib目录下。

conf目录整个复制到WebRoot/WEB-INF/中。

repository目录下的modules目录复制到WebRoot/WEB-INF/中。

repository目录下的services目录复制到WebRoot/WEB-INF/中。

在services目录下创建目录helloservice/META-INF/,在其中创建services.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<service name="HelloService">
<description>
Web Service
</description>
<parameter name="ServiceClass">
com.shuai.test.HelloService
</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
</messageReceivers>
</service>

修改web.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>

此时项目目录结果如图:

WebService开发实例(Axis2实现,无需安装,快速实现)

现在可以Run起来了,tomcat启动之后,在浏览器输入http://localhost:8080/WebserviceTest/services/HelloService/sayHelloToPerson?name=shuai

就可以看到效果了:

WebService开发实例(Axis2实现,无需安装,快速实现)

OK,这说明基本的Webservice已经可以发布访问了,剩下的可以加入Hibernate、Ibatis等访问数据库,加入Struct,Spring等框架,实现更复杂的功能,但是Webservice访问接口的道理是相同的。

目前Webservice算是尝试成功了,但某些具体配置还不是太清楚,现在只是记录一次成功的经验,和大家分享。

上一篇:2021-10-02


下一篇:c#抓取网页内容乱码的解决方案