曾经做过的项目里涉及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实现,无需安装,快速实现)_第1张图片

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实现,无需安装,快速实现)_第2张图片

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

就可以看到效果了:

WebService开发实例(Axis2实现,无需安装,快速实现)_第3张图片

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

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

更多相关文章

  1. STM32开发GPRS传输的GPS定位器-android studio开发客户端APP显示
  2. 1.腾讯微博Android客户端开发——OAuth认证介绍
  3. android下服务器推送实现 androidpn分析
  4. 微信Android客户端架构演进之路
  5. Android /data/data/app_file/目录下面安装apk无权限问题
  6. android res目录下存放图片文件夹 i m h xh xxh
  7. PHP 判断当前扫码的客户端浏览器类型

随机推荐

  1. Android(安卓)game engine list
  2. Android视频应用去广告学习实践
  3. Android(安卓)Bitmap 相关
  4. android中获取文字的宽度
  5. Android(安卓)UI架构(四)--SurfaceFlinge
  6. 四十二、Android完全退出应用程序
  7. android SDK 环境变量配置+ADT安装
  8. Android(安卓)RIL总体架构介绍
  9. SQL Server误区30日谈 第19天 Truncate表
  10. SQL Server误区30日谈 第18天 有关FileSt