zoukankan      html  css  js  c++  java
  • 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。

    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>

    此时项目目录结果如图:

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

    就可以看到效果了:

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

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

  • 相关阅读:
    无法远程连接mssqlserver2005服务器的解决
    can't init script for
    为什么要分层?
    如何判断控件是否已加载完成
    社团管理_第4组_需求分析报告
    FSF
    【转载】(翻译)反射的第二部分:Emit
    【转载】Emit学习基础篇基本概念介绍
    白话C#
    GCC
  • 原文地址:https://www.cnblogs.com/zhaoshuai1215/p/3170641.html
Copyright © 2011-2022 走看看