Apache axis2 + Eclipse 开发 WebService

Axis2_Service_Archiver_1.3.0&Axis2_Codegen_Wizard_1.3.0 myeclipse的axis插件,找了很久找到的。1.3.0版的,因为官网上1.6.0版本的在myeclipse中使用起来会有很多问题。 下载下来后直接放到dropins下就可以了,不用修改plugin.xml 包含: Axis2_Service_Archiver_1.3.0 Axis2_Codegen_Wizard_1.3.0 立即下载

一、简介

Apache Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。Apache Axis2 是Axis的后续版本,是新一代的SOAP引擎。 官方网站:http://axis.apache.org/axis2/java/core/index.html


二、下载

Apache Axis2 下载页面:http://axis.apache.org/axis2/java/core/download.cgi (当前最新版本1.6.2)

Apache 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

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

安装插件:

我用的是MyEclipse10,以我的环境为例:将两个插件解压后放到D:\sdk\MyEclipse\MyEclipse 10\dropins目录下面,启动MyEclipse

File - New - Other 可以找到:

三、部署axis2 war

解压下载的axis2-1.6.2-war.zip 得到一个axis2.war文件,将这个文件丢到tomcat\webapps目录,启动tomcat 访问http://localhost:8080/axis2

看到如下界面,部署成功。



四、编写服务代码

[java]  view plain copy
  1. package com.xcy;  
  2.   
  3. /** 
  4.  * @author Siuon 
  5.  * @version 1.0 
  6.  * @create 2012-7-19 下午8:23:49 
  7.  */  
  8. public class Axis2WB {  
  9.     /** 
  10.      * 提供了一个说Hello的服务 
  11.      * @return 
  12.      */  
  13.     public String sayHello(String name){  
  14.         return "Hello "+name;  
  15.     }  
  16.       
  17.     /** 
  18.      * 提供了一个做加法的服务 
  19.      * @param a 
  20.      * @param b 
  21.      * @return 
  22.      */  
  23.     public int add(int a,int b){  
  24.         return a + b;  
  25.     }  
  26.       
  27. }  
五、将服务代码打包成arr文件:

Eclipse菜单- New - File - Other -Axis2 Service Archiver

class file location:为刚刚写的Axis2WB类所在工程的bin目录


选择skip wsdl


如果你的Axis2WB有引用jar包,则在这里选择。我写的没有,所以next

由于我们没有编写service.xml,所以勾选让它自动生成,next


输入服务名称(随意)、类全名、load、next

设置aar文件名以及存放目录(我是放在桌面)--Finish:


完成后,可以看到桌面上多了一个axis2wb.aar文件,我们用winrar打开:

有没有感觉很眼熟?很像一个jar包、我们点击META-INF目录进去,可以看到插件给我们生成的一个service.xml,打开看看(是不是明白插件做了些啥了):

  


六、发布

将axis2wb.aar文件丢到之前部署的axis2应用的WEB-INF\services\目录下面,重启tomcat

再访问http://localhost:8080/axis2/   点击Service



看到上图,说明发布成功


七、生成客户端代码

你可以用jdk6自带的wsimport工具生成客户端代码:Java 6 开发 WebService

也可以通过axis2 的Eclipse插件生成客户端代码:

Eclipse菜单-File-New-Other-Axis2 Code Generator

Generate Java source code from a WSDL file:根据WSDL生成webservice客户端的java代码。(在这里,我们选择这个)
Generate a WSDL from a Java source file   :根据一个java源文件生成wsdl文件(这个源文件是打算发布成Web服务的java源文件,例如本demo中的Axis2WB.java)。




生成完代码后,你会发现报错,原因是因为缺少相关的jar包。

解压在第一步中下载的axis2 binary.zip  将解压后的目录中的lib下面的所有jar包,拷进来,添加到class path中:




8、调用Web服务

[java]  view plain copy
  1. package test;  
  2.   
  3. import java.rmi.RemoteException;  
  4.   
  5. import com.xcy.Add;  
  6. import com.xcy.AddResponse;  
  7. import com.xcy.Axis2WB;  
  8. import com.xcy.Axis2WBStub;  
  9. import com.xcy.SayHello;  
  10. import com.xcy.SayHelloResponse;  
  11.   
  12. /** 
  13.  * @author Siuon 
  14.  * @version 1.0 
  15.  * @create 2012-7-19 下午9:18:23 
  16.  */  
  17. public class Test {  
  18.     public static void main(String[] args) throws RemoteException {  
  19.         //创建客户端对象  
  20.         Axis2WB axis2wb = new Axis2WBStub();  
  21.           
  22.         //new一个调用sayHello方法需要的参数SayHello,并且设置name  
  23.         SayHello sayHello = new SayHello();  
  24.         sayHello.setName("Siuon");  
  25.         //调用web服务  
  26.         SayHelloResponse sayHelloResponse = axis2wb.sayHello(sayHello);  
  27.         //拿到返回结果  
  28.         System.out.println(sayHelloResponse.get_return());  
  29.           
  30.           
  31.         Add add = new Add();  
  32.         add.setA(5);  
  33.         add.setB(3);  
  34.         AddResponse addResponse = axis2wb.add(add);  
  35.         System.out.println(addResponse.get_return());  
  36.     }  
  37. }  

结果:


微信聊天记录解密,必须是root的手机 手机上安装x-plore软件,将/data/data目录的相关EnMicroMsg.db auth_info_key_prefs.xml拷贝到/storge/emulated/0目录后才可以拷贝到电脑。路径:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml。但是是加密过的 需要解密 解密密码生成规则是手机IMEI+微信UIN md5(32位小写)后的前7位。安卓手机要root测试版本微信要7或者8版本都可以。选择message表。 阅读详情

相关推荐

【TestCenter】RFC2544时延测试

本文介绍了使用Spirent TestCenter测试路由器PPPOE时延的RFC2544标准方法。RFC2544定义了三种时延类型:转发时延(LILO)、存储转发时延(LIFO)和直通时延(FIFO)。文章详细说明了测试步骤,包括测试拓扑搭建、PPPOE环境配置、RFC2544测试任务创建等关键环节,并介绍了如何设置时延参数和查看测试报告。测试结果表明,大字节帧的时延高于小字节帧,且负载越高时延越大。该测试方法遵循国际标准,可全面评估网络设备在不同负载下的性能表现。

lai_2020的博客 1406

AXIS通过HTTPS(SSL加密)方式访问Web Service

最近遇到这种情况,项目通过tomcat部署后,为了访问安全,加了SSL,将服务通信有http协议变更为https。但我们的客户端请求服务器的Webservice请求走的是http,这就导致请求验证过不去,下面将详细描述我们的解决处理过程。......

weixin_44462773的博客 1651

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7119

如何让你的Apache支持https

主要讲述在windows下apache配置SSL以实现http转换为https SSL: SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全。也就是说在SSL下http传输是安全的,我们成为https. 过程: 步骤一:安装apache,使其支持SSL,并安装php        1.安装配有SSL模块的apache,apache_2.

zbuger的博客 2669

GROMACS自由能景观图绘制全流程:从PCA分析到Origin 3D可视化(附避坑指南)

本文详细解析了使用GROMACS绘制自由能景观图的全流程,涵盖从PCA分析、数据预处理、自由能计算到最终在Origin中进行3D可视化的完整步骤。文章重点分享了数据处理与格式转换中的常见“避坑”指南,帮助研究者从分子动力学轨迹中有效提取并解读构象自由能信息,深化对生物大分子动力学过程的理解。

oauth7security的博客 309

EDA与机器学习融合:智能优化芯片设计流程的工程实践

机器学习作为数据驱动的核心技术,通过从历史数据中学习复杂模式,实现对系统行为的预测与优化。其原理在于构建模型,将输入特征映射到目标变量,从而揭示数据背后的内在规律。在工程领域,这项技术的核心价值在于能够将专家经验转化为可量化、可复用的智能模型,显著提升自动化水平与决策效率。电子设计自动化(EDA)是芯片设计的关键支撑,传统流程高度依赖人工试错,面临参数空间巨大、优化周期长等挑战。将机器学习应用于EDA,能够构建预测模型来预估设计性能(PPA),或通过代理模型加速设计空间探索,实现智能化的设计辅助与优化。本文

weixin_30411239的博客 685

java用axis2生成webservice客户端代码及使用方法

这两天javaweb项目需要调用c#发布的webService接口

曹金桂 1万+

Multisim14.3中FPGA接口电路设计:原理图项目应用

深入讲解在multisim14.3环境下构建FPGA接口电路的方法,结合原理图设计与项目实践,展现multisim14.3强大的电路仿真能力,提升数字系统开发效率。

weixin_42578963的博客 1158

java 调用 https wsdl_在Axis2 Runtime中使用java从HTTPS wsdl生成webservice客户端

路径1:从命令提示符wsimport -d C:\ Users \ A550857 \ Desktop \ Jay -extension -keep -p com.gatewayedi.ws -XadditionalHeaders Paste_WSDL_Below命令提示符响应:解析WSDL ...[错误] sun.security.validator.ValidatorException:PKI...

weixin_39831001的博客 477

RH850从0搭建Autosar开发环境系列讲解 - 总目录

Davinci Autosar实战开发从0构建开发能力。OS,COM,DCM,BSWMM,ECUM,VLINK,XCP,MEMMAP等模块配置,带你熟悉运行的autosar代码,包括MICROSAR的启动运行,使用GreenHills生成运行的hex。

weixin_42412049的博客 1万+

多体动力学分析软件:SIMPACK_(3).SIMPACK模型创建与编辑

在 SIMPACK 中,模型的创建与编辑是多体动力学分析的基础。通过了解模型的基本结构、创建方法、编辑技巧和高级功能,用户可以高效地构建和优化复杂的多体系统模型。无论是手动创建、通过脚本创建还是导入现有的 CAD 模型,SIMPACK 都提供了强大的工具和灵活的接口,帮助用户实现精确和高效的仿真分析。希望本节内容对您在 SIMPACK 中进行多体系统建模有所帮助。如有任何问题或需要进一步的指导,请参考 SIMPACK 的官方文档或联系技术支持。

kkchenjj的博客 1011

Eclipse 开发 Apache axis2 WebService

一直在找简单开发webservice的方法.幸亏找到了.其实只需要几步就能将你的应用中开放webservice接口. axis2的热部署着实魅力很大,所以采用axis2. 我将几篇文章整合了下.  官方网站:http://axis.apache.org/axis2/java/core/index.html Apache Axis2 下载页面:http://axis.apache.org...

fengbin2005 603

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+
上一篇: js实现不缓存
下一篇: windows tomcat catalina.out 日志输出
zljjava
博客等级 码龄15年 155粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值