eclipse安装Axis2插件和简单的webservice发布

本文介绍了如何在Eclipse Luna中安装Axis2插件,包括Service Archive Wizard和Code Generator Wizard,并详细讲解了创建简单Webservice服务及发布的过程,涉及到WAR Distribution、.aar文件生成及web.xml配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Axis2与CXF是现在很主流的WebService开发框架(java6也已经支持了),项目上还都是基本上用前两种做开发,今天记录一下我安装Axis2插件在eclipse中的安装和写一个简单的测试代码。

一、

eclipse的版本为Luna Release (4.4.0)

Axis2的版本是1.6.2

下载地址为:

1)、Axis2 Binary Distribution(1.6.2):http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip (可执行版

 WAR Distribution:http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip (这个是放在tomcat下可发布的war包版)

2)、eclipse的插件

Service Archive Wizard - Eclipse Plug-in(用来将服务代码打包成后缀名为.aar文件的插件):

http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-service-plugin-1.6.2.zip(点击直接可以下载)

Code Generator Wizard - Eclipse Plug-in(用来将服务代码生成wsdl文件以及解析将wsdl文件生成客户端代码的插件):

http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-codegen-plugin-1.6.2.zip(点击直接可以下载)

二、

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


插件到此安装完成!

三、生成aar文件:

写一个简单的服务器代码:

package com.hwt.glmf.webservice;
/**
 * 测试的webservice
 */
public class MyService {
	
	public String sayHello (String name){
		return name+"说了:hello!";
	}
	
}
然后File-New-Other- -Axis2 Wizards-Axis2 Service Archiver(通过插件生产可发布的aar文件)

到此步骤就能生成好名为:MyService.aar的文件了,在桌面上用压缩软件打开这个aar文件可以看到,结构与平常的war的结构很是相似。
再将service.xml解压出来,可以看到如下代码:

<service name="MyService" >
	<description>
		Please Type your service description here
	</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>
	<parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>
</service>
这个就是配置文件,可以看到这个配置的信息:

service name="MyService"
代表的是webservice发布的服务名

<parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>
是服务的链接的具体方法名。如果有多个webservice要发布,且是同一个项目之内的话,可以通过修改此配置文件与上面的class文件夹来达到发布一个aar包多个webservice服务,有如下配置:

<serviceGroup>
	<service name="ManifestService" >
		<description>
			ManifestService
		</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>
		<parameter name="ServiceClass">com.hwt.glmf.webservice.ManifestService</parameter>
	</service>
	<service name="ManifestServiceQG" >
		<description>
			QYTG ManifestService
		</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>
		<parameter name="ServiceClass">com.hwt.glmf.qytgservices.ManifestServiceQG</parameter>
	</service>
	<service name="CipService" >
		<description>
			CipService
		</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>
		<parameter name="ServiceClass">com.hwt.glmf.externalinterface.cip.CipService</parameter>
	</service>
</serviceGroup>

配置web.xml中Axis2的AxisServlet

  	<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>

我们这边就是发布上面写的一个简单的webservice接口,现在要说的是发布这个webservice接口(有放在下载的Axis2的war包中一起发布的版本,此篇文章不做介绍,就是介绍在web项目中发布webservice接口),可以将此文件放在新建的web项目的WebRoot-->WEB-INF-->services目录下,在将再下载的Axis2 Binary Distribution(1.6.2)解压,生成的文件夹下面的lib目录中将所有的jar包拷入到lib中。启动项目的时候就会将次webservice发布出去。在浏览器中输入如下地址(下面的是本机地址,如果是访问别的机子,将localhost:8080修改成对应的IP以及端口号即可):

http://localhost:8080/QYTG/services/MyService?wsdl
有如下显示的则是成功了:



到了此步骤就是Axis2的webservice接口发布成功了!因为Axis2有很多种生成客户端代码的方法,所以再开一篇介绍Axis2的客户端代码的生成。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值