axis2Axis、Axis2和CXF哪个更好些

axis2  时间:2021-06-22  阅读:()

监控摄像头中的2 axis是什么参数

Axis2是下一代 Apache Axis。

Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。

Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。

支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。

Axis2 是Axis的后续版本,是新一代的SOAP引擎

帮下我 ,我急需Axis2基于web service实现的相关代码以及具体操作。

1. 配置tomcat和SOAP引擎

下载axis2-1.4.1-bin.zip和axis2-1.4.1-war.zip,分别解压。

在axis2-1.4.1-war.zip解压出来的文件夹中有一个axis2.war,把它复制到“<tomcat安装目录>/webapps/”目录下,启动Tomcat,即可看到在“<tomcat安装目录>/webapps/”目录下有个axis2的文件夹

在浏览器的地址栏中,输入http://localhost:8080/axis2/,验证axis2安装成功。

2. 简单的Web service程序在Axis2中发布

简单的POJO,代码如下:

public class MyService {

public String getHello()

{

return "hello world";

}

public String getName(String name)

{

return "Hello "+name;

}

public int getPlus(int a, int b)

{

return a+b;

}

}

把编译之后的MyService.class放到

<Tomcat安装目录>/webapps/axis2/WEB-INF/pojo下,浏览器输入http://localhost:8080/axis2/services/listServices,显示已发布的服务。

浏览器地址栏输入:http://localhost:8080/axis2/services/MyService/getHello

可显示相关xml格式的返回内容。

浏览器地址栏输入:

http://localhost:8080/axis2/services/MyService/getName?name=bill

可显示相关xml格式的返回内容。

浏览器地址栏输入:

http://localhost:8080/axis2/services/MyService/getPlus?a=1&b=2

可显示相关xml格式的返回内容。

说明服务发布成功且可访问。

3. 编写程序利用SOAP调用web service

编写MyRPCClient类作为访问的客户端,使用RPC方式(RPCServiceClient)调用WebService,在RPC中指定WebService的URL,指定getHello方法返回值的数据类型的Class对象,并且指定要调用的getHello方法及WSDL文件的命名空间,最后调用RPC的invokeBlocking方法并输出该方法的返回值。

同理,调用getName和getPlus的方法与以上步骤类似。

4. 使用Axis2提供的工具,根据WSDL生成客户端代码,调用该代码访问web service

在系统环境变量中配置AXIS2_HOME的地址,在CMD控制台下输入%AXIS2_HOME%/bin/wsdl2java -uri http://localhost:8080/axis2/services/MyService?wsdl -p client -s -o stub即可在当前路径下生成stub文件夹,其中包括了一个MyServiceStub的类,把这个类复制到项目之中,用wsdl2java编写简化的客户端程序。

MyServiceStub stub = new MyServiceStub();//创造一个服务对象

stub.getHello().get_return();//得到getHello()的返回值

MyServiceStub.GetName gn = new MyServiceStub.GetName();//创造一个封装getName的对象

gn.setName(name);//设置参数

System.out.println( stub.getName(gn).get_return());//输出放回值

遇到的一些问题:

问题1: MyService类中包含一个getService方法,想利用对这个方法的不同重载,使其可以同时使用无输入、一个String输入和两个int输入不同方法,结果在浏览器中访问的时候无法访问。

解决方案:不能用重载来实现发布不同方法的功能,编写三个不同的方法来实现不同的功能,分别为:getHello()输出“hello world”,getName(String name)输出“hello $name”,getPlus(int a,int b)输出两数之和“$a+b”。

问题2:用wsdl2java编译生成stub类后,无法再程序中连接。

解决方案:发现我用的axis2为1.53版本,编译生成的stub类中自动生成的地址是https开头,不能正确连接,换为统一版本(1.41)后,自动生成的地址为http开头,经测试,连接成功。

Axis、Axis2和CXF哪个更好些

新一代的 Web Services 框架如 Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的 Axis 1.x 系列演化过来,而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目。

Axis2 是对 Axis 进行了彻底的重写的一个新项目了,它使用了新的模块化架构,更方便于功能性的扩展等等。

Apache CXF 则是由 XFire 和 Celtix 两个现有的项目进行了重组。

对于现在的应用程序的迁移,如果你的应用程序是稳定而成熟的,并且在可预知的未来的情况下,只要很少的一些需求变更要做的话,那么保存你的体力,不要去做“劳民伤财“的迁移工作了。

如果你的现有应用程序BUG缠身,性能,功能等等都一片糟糕的话,那就要考虑迁移了,那选哪个框架呢?先比较一下它们的不同之处: 1、Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile 2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本里得到支持 3、Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合 4、Axis2 不是 5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。

6、Apache CXF 目前仅支持 JAXB 和 Aegis,并且默认是 JAXB 2.0,与 XFire 默认是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持,目前版本是 2.0.2 7、Axis2 支持多种语言,它有 C/C++ 版本。

2、如果应用程序是遵循 Spring 哲学路线的话,Apache CXF 是一种更好的选择,特别对嵌入式的 Web Services 来说; 3、如果应用程序没有新的特性需要的话,就仍是用原来项目所用的框架,比如 Axis1,XFire,Celtrix 或 BEA 等等厂家自己的 Web Services 实现,就别劳民伤财了。

德阳电信高防物理机 16核16G 50M 260元/月 达州创梦网络

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

buyvm迈阿密机房VPS国内首发测评,高性能平台:AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps带宽不限流量

buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...

BuyVM商家4个机房的官方测试IP地址和测速文件

BuyVM 商家算是有一些年头,从早年提供低价便宜VPS主机深受广大网友抢购且也遭到吐槽的是因为审核账户太过于严格。毕竟我们国内的个人注册账户喜欢账户资料乱写,毕竟我们看英文信息有些还是比较难以识别的,于是就注册信息的时候随便打一些字符,这些是不能通过的。前几天,我们可以看到BUYVM商家有新增加迈阿密机房,而且商家有提供大硬盘且不限制流量的VPS主机,深受有一些网友的喜欢。目前,BUYVM商家有...

axis2为你推荐
isbackground什么叫做背景反应?background reaction财务系统软件现在企业里一般用什么财务软件的啊windowsmediawindows media player怎么打开createfile失败CreateFile失败,代码5拒绝访问(高分在线求助!!!)pat是什么格式pat 格式的文件用什么软件打开?5e5e5e如何更改bootstrap navbar的颜色 03 Topics 03 Ruby Chinacomexceptionapro exception是什么意思音乐代码css控制背景音乐代码泛微协同办公系统泛微软件怎么样?做协同办公的,我要来这做销售前景怎么样?请大家对这个行业或公司了解的给些建议。短信套餐中国移动发短信有什么套餐比较好
国外idc 169邮箱 中国电信测网速 phpmyadmin配置 最好的qq空间 华为云服务登录 空间登陆首页 国内域名 秒杀品 石家庄服务器托管 杭州电信宽带优惠 学生服务器 徐州电信 如何登陆阿里云邮箱 睿云 winds 免费的加速器 美国vpn代理 一句话木马 达拉斯 更多