axis接口实现文档

一、接口的实现

1、采用axis2的方式

Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axis+eclipse开发webservice,当然不用eclipse也可以开发和发布webservice,只是用eclipse会比较方便。

2、eclipse安装axis2插件

下载axis2-eclipse-codegen-plugin-1.7.8.zip,axis2-eclipse-service-plugin-1.7.8,axis2-1.7.8-bin

地址(可直接下载):

http://www.apache.org/dyn/closer.lua/axis/axis2/java/core/1.7.8/axis2-eclipse-service-plugin-1.7.8.zip

http://www.apache.org/dyn/closer.lua/axis/axis2/java/core/1.7.8/axis2-eclipse-codegen-plugin-1.7.8.zip

http://www.apache.org/dyn/closer.lua/axis/axis2/java/core/1.7.8/axis2-1.7.8-bin.zip

然后关闭eclipse,进入eclipse的根目录将上面下载的插件解压到dropins文件目录下(解压的时候会生成plugins文件夹,我是把里面生成的jar直接拷出来放在dropins文件夹里面)。然后重启eclipse,点击File-New-Other有如下图显示,则表示安装插件成功!

3、生成arr文件

3.1、写一个简单的服务器代码

package com.fh.webservice.test;
public class AxisWebservice {
	public String sayHi(String str){
		return "0000---"+str;
	}
}

3.2、点击File-New-Other--Axis2 Service Archiver(用来将服务代码打包成后缀名为.aar文件用于发布)

打开文件后,将里面的server.xml文件解压出来就可以看到发布的服务名

<service name="MyService" >
	<description>
		Please Type your service description here
	</description>
	<messageReceivers>
		<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
		<messageReceiver  mep="http://www.w3.org/ns/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
	</messageReceivers>
	<parameter name="ServiceClass">com.fh.webservice.test.AxisWebservice</parameter>
</service>

4、在web.xml文件中配置监听器

<!-- axis Servlet -->
    <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>

5、发布webservice接口,将.aar文件放在项目新建的WEB-INF-->services目录下,在将再下载的Axis2 Binary Distribution(1.7.8)解压,生成的文件夹下面的lib目录中将所有的jar包拷入到lib中。启动项目的时候就会将次webservice发布出去。

二、创建客户端测试(新建项目)

1、生成WSDL文件供插件生成客户端代码,右击项目-new-other-选择Axis2 Code Generator,Next,勾选Generate a WSDL from a java source file,Next,点击Add folder选择项目下的classes目录,Fully Qualified Class name选择java类文件如: com.fh.webservice.test.AxisService,点击Test Class loading通过,Next, 填写相关内容,Next

2、生成客户端测试发布的服务器

2.1、新建客户端项目右击-new-other-选择Axis2 Code Generator,Next,选择 Generate java source code from a WSDL file, Next,WSDL file location:选择发布webService的地址也可以是一个生成后缀名为WSDL的文件,Next,Codegen option:选择custom,勾选Generate test case,勾选Generate client side code,勾选Generate both sync and async,Next。选择Browse and select a project on current eclipse workspace,Output path:选择项目名称,Finsh根据WSDL文件或者发布的WebService服务地址生成客户端完成

2.2、编写测试代码(需要将axis的jar包导入到客户端)

package com.fh.webservice;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import com.fh.webservice.test.AxisWebserviceStub;
import com.fh.webservice.test.SayHi;
import com.fh.webservice.test.SayHiResponse;

public class TestAxis {
	
	public static void main(String[] args){
		String url ="http://localhost:8080/test/services/MyService";
		AxisWebserviceStub axis;
		SayHi sayHi2 = new SayHi();
		sayHi2.setArgs0("12"); 
		try {
			axis = new AxisWebserviceStub(url);
			SayHiResponse res = axis.sayHi(sayHi2);
			System.out.println("2323"+res.get_return());
		} catch (AxisFault e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值