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[] { "参数" } );

新网,域名7月盛夏1核心2G内存.COM域名仅19.9元/首年,主机9.9元/月,企业邮箱0元体验

新网好不好?新网域名便宜吗?新网怎么样?新网是国内老牌知名域名注册商,企业正规化运营,资质齐全,与阿里云万网和腾讯云DNSPOD同为国内服务商巨头。近日新网发布了最新的七月放价季优惠活动,主要针对域名、云主机、企业邮箱、SSL证书等多款云产品推送了超值的优惠,其中.com顶级域名仅19.9元/首年,.cn域名仅16元/首年,云主机1核心2G内存3Mbps带宽仅9.9元/月,企业邮箱更是免费送1年,...

IMIDC(rainbow cloud):香港/台湾/日本/莫斯科独立服务器特价,闪购大促销,最低30usd/月起

imidc怎么样?imidc彩虹网路,rainbow cloud知名服务器提供商。自营多地区数据中心,是 Apnic RIPE Afrinic Arin 认证服务商。拥有丰富的网路资源。 在2021年 6.18 开启了输血大促销,促销区域包括 香港 台湾 日本 莫斯科 等地促销机型为 E3係,参与促销地区有 香港 日本 台湾 莫斯科 等地, 限量50台,售罄为止,先到先得。所有服务器配置 CPU ...

digital-vm:VPS低至$4/月,服务器$80/月,10Gbps超大带宽,不限流量,机房可选:日本新加坡美国英国西班牙荷兰挪威丹麦

digital-vm,这家注册在罗马尼亚的公司在国内应该有不少人比较熟悉了,主要提供VPS业务,最高10Gbps带宽,还不限制流量,而且还有日本、新加坡、美国洛杉矶、英国、西班牙、荷兰、挪威、丹麦这些可选数据中心。2020年,digital-vm新增了“独立服务器”业务,暂时只限“日本”、“新加坡”机房,最高也是支持10Gbps带宽... 官方网站:https://digital-vm.co...

axis2为你推荐
activity跳转Java android activity间的跳转dell服务器维修dell维修服务机房360柴油发电机组启动电瓶充电小常识instagram电脑版苹果macbook pro做摄影拍照后期有什么优势吗?为什么很多摄影师用它?和thinkpad W系列比呢?各大网站有没有很好玩的网站啊wow服务器状态我电脑上的魔兽服务器状态很好.但是还是玩不起来.请问可以玩了不?java程序员招聘女java程序员好找工作嘛cursorlocationsession("rs").cursorlocation=3是什么意思?za是哪个国家的IE是哪个国家的缩写特斯拉model3降价特斯拉股价为何暴跌?
免费动态域名 站群服务器 softbank官网 英文简历模板word info域名 长沙服务器 777te 免空 seednet ntfs格式分区 nerds phpmyadmin配置 服务器托管什么意思 web应用服务器 东莞服务器托管 华为k3 阿里云邮箱登陆地址 双十二促销 七十九刀 重庆联通服务器托管 更多