码迷,mamicode.com
首页 > 其他好文 > 详细

AXIS2的一些认识

时间:2014-07-07 16:33:18      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   java   color   

        首先axis2是apache基金会的一个开源的webservice框架。

        利用这个开源框架可以发布一些webservice服务。比如某些网站的天气预报,两个系统的对接,还有跨平台的数据交互(java,.net,c#,因为它基于soap的http协议传输xml报文,所以这个开源框架是跨语言的。)

    如官网所说bubuko.com,布布扣

        准备工作:tomcat7,jdk1.6,ant,Eclipse,AXIS2

   关于下载到apache官网上下载二进制的

    bubuko.com,布布扣

  进行下面操作请确保 ant,jdk环境变量都已安装完毕。

      下载到本地之后,并进行ant

  bubuko.com,布布扣  

 

    ant之后会在dist目录生产war。将war放入tomcat的webapps里面启动即可。

bubuko.com,布布扣

   发布方式有多种,我用的是下面这一种方式。(还有一种是生产aar文件的方法,以及生产wsdd的方式)

         在eclipse中新建一个web工程,把下载的axis2中的WEB-INF文件夹下面的 conf,modules,services复制到你项目的WEB-INF之中

         之后在services目录下创建一个文件夹,名称以项目名,在此文件夹下面建立META-INF文件,之后建立一个services.xml

          目录结构如下:

           bubuko.com,布布扣

 

至于sevices里面的写法,应该有很多种。

发布websevice的类,2个方法,一个有返回值,一个为空


package com.test.axis;

import java.util.HashMap;
import java.util.Map;

public class HelloFriend {
	
	Map<String,String> testMap = new HashMap<String,String>();
	public String sayHello(String name){
		if(testMap.get(name)!=null)
		{
			return "hello,"+testMap.get(name);
		}
		return "welcome ,null";
	}
	public void test(String key,String value){
		testMap.put(key, value);
		System.out.println("test void method");
	}
}

  

 

 

在services.xml进行定义

<service name="HelloWorld" scope="application" targetNamespace="http://axis.samples/">
    <description>
        HelloWorld Service
    </description>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                         class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                         class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <schema schemaNamespace="http://axis.samples/xsd"/>
    <parameter name="ServiceClass">com.test.axis.HelloFriend</parameter>
</service>

 

注意上面加粗部分是不一样的,没有返回值的方法则用第一种,有返回值则用第二种。

然后部署到tomcat启动。

http://localhost:8080/TestAxis/services/HelloWorld?wsdl

bubuko.com,布布扣

 

发布完成,页面访问成功。

 

下面对每一个方法进行测试:

1、如果先测试有返回值的则结果如下

bubuko.com,布布扣

2、测试无返回值结果

bubuko.com,布布扣

 

此时map有值。

 

然后再来看看方法一的结果

 

bubuko.com,布布扣

 

上面的测试都很简单。

网上也有很多代码测试,这里先不讲了。有兴趣的同学可以网上搜搜。

其实websevice进阶的内容有很多,比如说返回值是List<User>这种类型,还有Map,Json等等,传送附件。

还有如何处理大数据传输?

有这方面经验的童鞋可以先行告诉下。先谢谢了。

 

 

 

 

 

 

 

AXIS2的一些认识,布布扣,bubuko.com

AXIS2的一些认识

标签:des   style   blog   http   java   color   

原文地址:http://www.cnblogs.com/houguiqiang/p/3815076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!