axis2webservice axis2服务器端返回 map list

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

问个比较弱的问题,我刚接触webservice ,axis和axis2 有什么区别啊?

Axis全称Apache eXtensible Interaction System,是apache组织下的一个开源项目,用来做webservice开发的,有java版的实现,也有c++版的实现,其前身最早是IBM的SOAP4J,后来捐给Apache后改名Apache SOAP,也就是支持SOAP1.1的那个版本,到现在的AXIS已经是第三代了,AXIS对Apache SOAP的改进有很多,比如用SAX代替以前的DOM,增加对WSDL的支持,支持SOAP1.2等等 使用axis很easy,在apache网站上把axis下载了后(最新版本1.2.1),把%AXIS_HOME%webappsaxis整个目录copy到tomcat的webapps目录下面,启动tomcat,浏览器中输入http://localhost:8080/axis就可以了 上面说的只是axis运行起来了,要想布置自己的webservice,axis支持两种方法:一种是用JWS(Java Web Service),好处是只要有源码比如说Hello.java,把他改成Hello.jws后放到%TOMCAT_HOME%webappsaxis目录下面就搞定,浏览器里面输入.apache.axis.client.AdminClient deploy.wsdd就搞定了,卸载这个webservice就.apache.axis.client.AdminClient undeploy.wsdd,客户端输入http://localhost:8080/axis/services/Hello就可以了 介绍了部署webservice的两种方法后,下面说说客户端的访问方式,也有两种,一种是通过axis实现的java里面的JAX-RPC进行动态调用,另外一种就是通过服务器端产生的wsdl文件利用WSDL2Java工具生成Client Stub后访问。

通过JAX-RPC的比较简单,需要提供的有SOAP router URL,service namespace,operation name,operation parameter types,operation return types,看看下面这个例子就明白了: public SOAPWrapper() { String location = "http://localhost:8080/axis/services/BookService"; try { Service service = new Service(); call = (Call)service.createCall(); call.setTargetEndpointAddress(new url(/location)); } catch (Throwable t) { handleError("SOAPWrapper (constructor) had an Exception.",t); } } public void create(Book book) { try { call.removeAllParameters(); call.setOperationName("create"); call.addParameter("arg1",qn,ParameterMode.IN); call.setReturnType(XMLType.AXIS_VOID); call.invoke(new Object[] {book}); return; } catch (Throwable t) { handleError("SOAPWrapper (create) had an Exception.",t); return; } } 程序中的Call和Service是对JAX-RPC中Call和Service的具体实现.apache.axis.client.Call implements .apache.axis.client.Service implements javax.xml.rpc.Service 第二种客户端的方法就是利用WSDL2Java产生Client stub后通过stub调用,WSDL2Java的操作对象是service所对应的wsdl文件,这个文件怎么产生呢?一种方法前面是由axis自动产生,如前面服务器端的配置所说,无论通过jws或是wsdd的方式,axis都会产生相应的wsdl;还有一种方式就是利用Java2WSDL对java源文件进行操作也可以产生相应的wsdl文件。

axis axis2 版本很多,而且差异很大。应该学习那个版本的呢?

建议学习axis2 1.4.1版 Axis2的架构和Axis的架构已经不一样了,Axis2采用模块化的方式,可以方便地进行扩展。

例如安全模块Rampart和可靠消息模块都是扩展模块。

另外,Axis2 1.5系列的eclipse客户端开发工具插件,我一直没有用成功,总报错。

但是Axis2 1.4系列的客户端开发插件是可以使用的,建议还是先用Axis2 1.4吧,能省去不少麻烦。

而且1.5系列的很多新增功能其实用不到,也没必要跟它较劲。

webservice axis2根据wsdl生成客户端访问服务端出现的问题

你确定你的服务发布在服务器上了吗? 还有你的服务是不是有多个,提示是说 http://localhost:8080 / axis2 /服务/ webservice1没有找到,你的服务是不是改动过,没有保存。

把写的java代码先按ctrl+s保存,在发布到服务器上,然后用客户端调用。

一步步来,应该没问题的。

webservice axis2服务器端返回 map list

客户端要有相应的接口类,然后用axis2的相应客服端代码调用方法即可 Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new .URL(endpoint) ); call.setOperationName(new QName(XMLConstants.NULL_NS_URI, "方法名")); List ret = (List) call.invoke( new Object[] { "参数" } );

ZJI-全场八折优惠,香港服务器 600元起,还有日本/美国/韩国服务器

月付/年付优惠码:zji  下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

优林70/月,西南高防地区最低70/月

优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内西南地区高防云服务器!全部是独享带宽!续费同价!官方网站:https://www.idc857.com​地区CPU内存硬盘流量带宽防御价格购买地址德阳高防4核4g50G无限流量10M100G70元/月点击购买德阳高防...

axis2为你推荐
代发邮件邮件代发会不会有短信代发那么好的市场效益呢?pps官网pps软件下载中心 pps影视软件下载刷ip流量请问刷流量刷IP有什么用的!shoujiao黑鲨手机SKW一AO怎么解锁?sms是什么什么是SMS协议防火墙技术应用常用防火墙技术有哪几种erp系统教程ERP系统怎样操作,有教学视频吗?东兴证券网站东兴证券开户是假的吗?backupexecBackup Exec 2014怎么备份Exchangeidataparameterinvalid parameter是什么意思
香港服务器租用 美国linux主机 提供香港vps 动态ip的vps godaddy域名解析教程 免费申请域名 高防dns mach5 http500内部服务器错误 win8升级win10正式版 阿里云代金券 亚洲小于500m 智能骨干网 电子邮件服务器 服务器托管什么意思 umax120 免费phpmysql空间 免费网页空间 域名与空间 web应用服务器 更多