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

HostKvm - 夏季云服务器七折优惠 香港和韩国机房月付5.95美元起

HostKvm,我们很多人都算是比较熟悉的国人服务商,旗下也有多个品牌,差异化多占位策略营销的,商家是一个创建于2013年的品牌,有提供中国香港、美国、日本、新加坡区域虚拟化服务器业务,所有业务均对中国大陆地区线路优化,已经如果做海外线路的话,竞争力不够。今天有看到HostKvm夏季优惠发布,主要针对香港国际和韩国VPS提供7折优惠,折后最低月付5.95美元,其他机房VPS依然是全场8折。第一、夏...

MOACK:韩国服务器/双E5-2450L/8GB内存/1T硬盘/10M不限流量,$59.00/月

Moack怎么样?Moack(蘑菇主机)是一家成立于2016年的商家,据说是国人和韩国合资开办的主机商家,目前主要销售独立服务器,机房位于韩国MOACK机房,网络接入了kt/lg/kinx三条线路,目前到中国大陆的速度非常好,国内Ping值平均在45MS左右,而且商家的套餐比较便宜,针对国人有很多活动。不过目前如果购买机器如需现场处理,由于COVID-19越来越严重,MOACK办公楼里的人也被感染...

Friendhosting,美国迈阿密机房新上线,全场45折特价优惠,100Mbps带宽不限流量,美国/荷兰/波兰/乌兰克/瑞士等可选,7.18欧元/半年

近日Friendhosting发布了最新的消息,新上线了美国迈阿密的云产品,之前的夏季优惠活动还在进行中,全场一次性45折优惠,最高可购买半年,超过半年优惠力度就不高了,Friendhosting商家的优势就是100Mbps带宽不限流量,有需要的朋友可以尝试一下。Friendhosting怎么样?Friendhosting服务器好不好?Friendhosting服务器值不值得购买?Friendho...

axis2为你推荐
建行手机网站建设手机银行首次怎样登录视频托管我想做一些游戏教学视频,放到网上收费该可以吗?scriptmanager怎么解决ScriptManager和Jqery冲突最好的翻译网站求最好的翻译网站和软件excel大写金额在EXCEL表格里怎样自动生成金额大写比思论坛永久域名不知道为什么 比思论坛的网站打不开 怎么办呐flash实例flash CS3 实例的属性面板里的实例名称是指什么netbios协议机子上启动了netbios协议,为什么还是运行不了netbios命令java程序员招聘女java程序员好找工作嘛东兴证券网站东兴证券开户是假的吗?
淘宝虚拟主机 plesk 安云加速器 外贸主机 最好看的qq空间 亚洲小于500m 阿里云浏览器 昆明蜗牛家 流媒体加速 银盘服务 重庆电信服务器托管 我的世界服务器ip 主机管理系统 cc加速器 免费服务器 挂马检测工具 qq部落24-5 koss耳机 sockscap下载 ftp服务器架设 更多