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

香港E3 16G 390元/ 香港E5*2 32G 600元/ 香港站群 4-8C 1200元/ 美国200G高防 900/ 日本100M 700元

3C云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超6年运营 。本次为大家带来的是双12特惠活动,香港美国日本韩国|高速精品|高防|站群|大带宽等产品齐全,欢迎咨询问价。3C云科技有限公司官方网站:http://www.3cccy.com/客服QQ:937695003网页客服:点击咨询客户QQ交流群:1042709810价目表总览升级内存 60元 8G内存升级硬盘 1T机械 90元 2...

VoLLcloud(月付低至2.8刀)香港vps大带宽,三网直连

VoLLcloud LLC是一家成立于2020年12月互联网服务提供商企业,于2021年1月份投入云计算应用服务,为广大用户群体提供云服务平台,已经多个数据中心部署云计算中心,其中包括亚洲、美国、欧洲等地区,拥有自己的研发和技术服务团队。现七夕将至,VoLLcloud LLC 推出亚洲地区(香港)所有产品7折优惠,该产品为CMI线路,去程三网163,回程三网CMI线路,默认赠送 2G DDoS/C...

Megalayer美国独立服务器新用户首月优惠350元(30M优化不限流量)

Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...

axis2为你推荐
滚动条样式修改如何自定义浏览器滚动条样式小明发布首页永久网站2015小明发布看看永久域在哪里能找到免费的isbackground急!there is no attribute "background"怎么改?财务系统软件2020年有什么好用的财务软件?建行手机网站怎么下载建行手机银行scriptmanagerscriptmanager.registerstartupscript是.net3.5吗网络视频下载器网络视频下载工具哪个好用?pat是什么格式怎么能把常用格式的图片转换成PAT格式的呀~java程序员招聘女java程序员好找工作嘛云办公平台什么叫云办公啊?谁能通俗的给我讲下
国外vps 动态ip的vps 漂亮qq空间 buyvm 香港服务器99idc gomezpeer 空间打开慢 监控宝 双12活动 淘宝双十一2018 java空间 华为网络硬盘 789电视网 100m独享 网通服务器托管 四核服务器 申请免费空间和域名 smtp虚拟服务器 沈阳主机托管 smtp服务器地址 更多