0

0

Axis2 WebService的配置、发布、调用

php中文网

php中文网

发布时间:2016-06-07 15:00:52

|

1990人浏览过

|

来源于php中文网

原创

准备工作 1. 下载 axis2-1.6.2-bin.zip,axis2-1.6.2-war.zip文件。http://axis.apache.org/axis2/java/core/download.cgi 2. 环境变量配置 AXIS2_HOME JAVA_HOME 3. axis2-1.6.2-war.zip压缩文件中的axis2.war复制到 %TOMCAT-HOME%/webapps目录下,然后启动

准备工作

1. 下载 axis2-1.6.2-bin.zip,axis2-1.6.2-war.zip文件。http://axis.apache.org/axis2/java/core/download.cgi 

2. 环境变量配置 

AXIS2_HOME

JAVA_HOME

3. axis2-1.6.2-war.zip压缩文件中的axis2.war复制到 %TOMCAT-HOME%/webapps目录下,然后启动Tomcat

    访问 http://localhost:8080/axis2/ 看是否正常。

Axis2 WebService的配置、发布、调用

点击Services会进入service列表页面,当前只有一个Version服务。


4. 下载axis2-eclipse-codegen-wizard.zip和axis2-eclipse-service-archiver-wizard.zip 插件

     http://archive.apache.org/dist/ws/axis2/tools/1_4_1/ 

    解压后得到两个文件夹:Axis2_Codegen_Wizard_1.3.0和Axis2_Service_Archiver_1.3.0,拷贝至eclipse\dropins

             注另一种方式,测试不成功,不推荐。下载axis-eclipse-codegen-plugin-1.6.2.zip和axis-eclipse-service-plugin1.6.2.zip文件解压后将plugins复制到%ECLIPSE_HOME%/plugins/目录下。 http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.6.2/

    

5. 安装完成后,IDE中选择new -> other 有Axis2 Wizards,说明插件安装成功。




AXIS2发布Web Services

一. 工程文件

新建Axis2Service1  java工程;

新建/Axis2Service1/src/ws/TestWs.java文件;

package ws;

public class TestWs {
	
	public String showName(String name){
		return name;
	}
	public String getName(){
		return "Axis2Service Sample";
	}
}

二. aar部署方式

1. 手动打包

新建 /Axis2Service1/deploy文件夹,将/Axis2Service1/bin/目录下的class下文复制过来;

新建/Axis2Service1/deploy/META-INF/services.xml文件


	
	AxisService
	ws.TestWs
	
		
	
	
	
		
	


2. 插件打包

在IDE中选择New -> other -> Axis2 Service Archiver,点击Next;

在Class File Location:选择Axis2Service1\bin目录,点击Next;

勾选Skip WSDL,点击Next;

Service Archiver 选择jar位置,没有jar包就直接点击Next;

勾选Generate the service xml automatically 自动生成XML file文件,点击Next;

PHP房产程序[BBWPS]
PHP房产程序[BBWPS]

[PHP房产程序|BBWPS]功能介绍 1、5种信息类别发布:出租、求租、出售、求购、楼盘信息,支持会员发布信息审核; 2、灵活的信息参数设置; 3、充足的信息字段; 4、简单易用的发布/编辑功能,支持配图上传; 5、灵活的信息管理功能; 6、信息输出伪静态,方便搜索引擎抓取数据; 7、支持RSS输出; 8、内置数据高速缓冲技术,可灵活设置缓冲功能是否启动及过期时间; 9、支持 Google 地图

下载

service name,输入AxisService(名字可以自己定),然后在class name 中填写要发布的类(全路径),点击load,勾选search declared methods only,点击Next;

Axis2 WebService的配置、发布、调用

output File location ,output File Name输入artiver文件的名称AxisService。点击finish,提示Service Archvie generated successfully!表明生成成功。

3. 发布AxisService

AxisService.aar复制到%TOMCAT-HOME%/webapps/axis/WEB-INF/services下。(不打aar包,/Axis2Service1/deploy/下面复制过去也可以)

打开 http://localhost:8080/axis2/services/listServices 可以看到如下页面

Axis2 WebService的配置、发布、调用


AXIS2调用Web Services

一. 客户端stub文件生成

1. 脚本生成方式

在%AXIS2_HOME%/bin/ 目录下执行下面的命令wsdl2java -uri http://localhost:8080/axis2/services/AxisService?wsdl -p ws -s -o stub说明:-p 指定了生成的java类的报名;-o指定了生成的一系列文件保存的目录;在stub/src/ws 自动生成AxisServiceStub.java


2. 插件生成方式

IDE中选择New -> other -> Axis2 Code Generator, 点击Next;

勾选Generate Java source code from a SWDL file,点击Next;

WSDL file location输入:http://localhost:8080/axis2/services/AxisService?wsdl正确的话,点击Next;

指定输入路径,点击Next;

提示 All operation completed successfully!生成成功。在D:\src\wc 自动生成了stub一系列文件,其中ws是包名;


注:错误 An error occurred while completing process-java.lang.reflect.InvocationTargetException解决方法

1. 从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util- concurrent-3.1.jar"

文件到Axis2_Codegen_Wizard_1.3.0的lib目录中,同时修改 Axis2_Codegen_Wizard_1.3.0

下的plugin.xml文件,在文件中中添加:










如没有backport-util-concurrent-3.1.jar,可以从地址:http://backport-jsr166.sourceforge.net/     下载。

2.将 $workspace位置\.metadata\.plugins下目录 Axis2_Codegen_Wizard 删除。

3.在命令行下切换至$ECLIPSE_HOME目录,然后执行:eclipse –clear。

如还决有问题参考如下解决办法:修改名字,再改回来


二. 客户端调用

脚本生成方式为例,插件生成的类似。

1. 新建 java工程 Axis2Client;

     将%AXIS2_HOME%\lib\目录下的 jar包复制到\Axis2Client\lib\ , 并加入工程引用中,将通过脚本生成的单一AxisServiceStub.java文件 加入到src\ws、下;

2. 新建TestWs.java 代码如下

package ws;

import java.rmi.RemoteException;

public class Axis2Client {
	public static void main(String [] args) throws RemoteException{
		//初始化Stub类
		AxisServiceStub stub = new AxisServiceStub();
		//传递AxisServiceStub.ShowName对象,相关参数在这边赋值
		AxisServiceStub.ShowName command = new AxisServiceStub.ShowName();
		command.setName("Hello!");
		//取得返回值
		String name = stub.showName(command).get_return();
		System.out.println(name);
	}

}

3. 调用成功后控制台输出:Hello!

相关专题

更多
ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

33

2025.12.26

压缩文件加密教程汇总
压缩文件加密教程汇总

本专题整合了压缩文件加密教程,阅读专题下面的文章了解更多详细教程。

18

2025.12.26

wifi无ip分配
wifi无ip分配

本专题整合了wifi无ip分配相关教程,阅读专题下面的文章了解更多详细教程。

46

2025.12.26

漫蛙漫画入口网址
漫蛙漫画入口网址

本专题整合了漫蛙入口网址大全,阅读下面的文章领取更多入口。

91

2025.12.26

b站看视频入口合集
b站看视频入口合集

本专题整合了b站哔哩哔哩相关入口合集,阅读下面的文章查看更多入口。

283

2025.12.26

俄罗斯搜索引擎yandex入口汇总
俄罗斯搜索引擎yandex入口汇总

本专题整合了俄罗斯搜索引擎yandex相关入口合集,阅读下面的文章查看更多入口。

370

2025.12.26

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

35

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

25

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

72

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS教程
CSS教程

共754课时 | 16.9万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 1.9万人学习

微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号