Axis2发布webservice(3)--axis2生成wsdl文件,并利用wsdl文件来生成WebService的Java代码
一、利用axis2生成wsdl文件
1、file->New->Other->Axis2 Code Generator
2、选择第2个,点击next
3,先点击add folder->浏览选择WebService项目下的bin文件夹,然后在fully Qualified Class name中填入类路径(包括包名)
然后点击Test 测试是否正确。
点击Next
4、可以看到即将发布的WebService名称和命名空间
5、继续Next,选择wsdl文件保存目录
这样services.wsdl文件就生成了。
二、用axis2工具根据wsdl文件生成java文件,并编写客户端调用的代码
1、file->new->other->axis2 code generetor
2、选择第1项,根据wsdl文件生成Java代码,点击Next
3、然后选择第一步生成的wsdl文件
4、点击Next,就可以看到你要生成指定方法的代码的选项,我选择的是第2项
注意的是在选择PortName的时候,不同的选项将会生产不同的调用代码,其调用方式也略有不同
5、点击Next,选择代码输出保存的目录,最好不要选择WebService的目录,换一个新的Javaproject目录,不然会跟之前的文件冲突,然后点击Finish
6、打开输出的文件夹,发现多出了很多文件
三、 编写客户端代码
package test;import java.rmi.RemoteException; import java.util.List;import com.hoo.service.EditUser; import com.hoo.service.EditUserResponse; import com.hoo.service.GetUser4Array; import com.hoo.service.GetUser4ArrayResponse; import com.hoo.service.ManagerUserServiceStub; import com.hoo.service.xsd.User;public class ManagerUserServiceClient {public static void main(String[] args) throws RemoteException {/* ManagerUserServiceStub文件对应的是整个WebService* 该类中有对应于WebService中public方法的方法* 通过实例化一个该类的对象,并调用相应的方法,就可以调用WebService的方法* */ManagerUserServiceStub stub = new ManagerUserServiceStub();/** EditUser对应的是WebService的方法,对于WebService的每个public方法,生成一个以该方法命名的类* 但是首字母会大写* 该类中有相应的方法editUser* */EditUser editUser = new EditUser();User user = new User();user.setAddress("China");user.setEmail("hww@163.com");user.setName("hww");user.setId(1);User user1 = new User();user1.setName("jsy");user1.setEmail("jsy@163.com");user1.setId(47);user1.setAddress("China");/** EditUser的对象要通过set方法设置方法的参数* 比如,eidtUser(User user)方法有一个User类型的参数,那么在对应的类里面,就会有对应的设置参数的* 方法* */editUser.setUser(user);/** 对于每个方法会生成一个对应的response类* 通过stub对象调用该方法,方法的参数是对应类的对象* 返回值会通过response对象返回* */EditUserResponse eur = stub.editUser(editUser);//获取返回值User returnUser = eur.get_return();System.out.println(returnUser.getName());//调用其他方法GetUser4Array getUser4Array = new GetUser4Array();getUser4Array.setJ(3);GetUser4ArrayResponse response1 = stub.getUser4Array(getUser4Array);User[] user_list = response1.get_return();for(User u:user_list){System.out.println(u.getId());}}}
输出结果是:hww
22
23
24
Axis2发布webservice(3)--axis2生成wsdl文件,并利用wsdl文件来生成WebService的Java代码相关推荐
- shell 写入文件_phpMyAdmin利用日志文件GetSHELL
phpMyAdmin简介 phpMyAdmin 是众多MySQL图形化管理工具中使用最为广泛的一种,是一款使用PHP 开发的基于B/S模式的MySQL客户端软件,该工具是基于 Web 跨平台的管理程序 ...
- 企业微信如何简单实现定时发送文件到群:企业微信群机器人操作(Java代码实现)
前言 不知道小伙伴们的公司组织架构通勤用的啥软件,我公司用的企业微信.然后业务销售部那边需要每天统计销售数据报表然后发在群里(我是开发,我不配在群里).知道这个背景以后,产品给我们的需求是:直接统计数 ...
- 更新误删文件:微软公布热线电话;部分 Minecraft Java 代码开源
(点击上方蓝字,快速关注我们) 转自:开源中国.solidot.cnBeta.腾讯科技等 0.Win10 十月更新误删用户文件:微软公布自查方法和解决对策 由于一系列质量问题,微软昨天(10 月 6 ...
- pc浏览器向android传输文件,如何利用ES文件浏览器实现手机与电脑稳定数据传输?操作方法分享...
用户在进行手机和电脑数据传输的时候可以通过ES文件浏览器来实现,这个浏览器使用非常的方便,用户可以使用手机将自己喜欢的文件保存到页面,这样使用就会更加的方便,如果用户对于这个软件有使用的需求,可以来了 ...
- VB控件注册 - 利用资源文件将dll、ocx打包进exe文件
很多时候自定义或者引用控件都需要注册才能使用,但是如何使要注册的dll或ocx打包到exe中,使用户下载以后看到 现在介绍一下使用资源文件,将dll.ocx打包进exe,点击直接注册的例子: ...
- VB利用资源文件进行工作
利用资源文件进行工作 资源文件允许将应用程序特定版本的全部文本和位图收集到一起.这可以包括常数声明.图标.屏幕文本,以及可能在本地化版本之间或在修订版本或特定的配置之间发生变化的其它材料. 向工程中添 ...
- WebService之Axis2 (3):使用services.xml文件发布WebService
用Axis2实现Web Service,虽然可以将POJO类放在axis2\WEB-INF\pojo目录中直接发布成Web Service,这样做不需要进行任何配置,但这些POJO类不能在任何包中.这 ...
- webService发布和调用--Axis2
一.工具 1.下载 Axis2以及eclipse的Axis2插件.http://axis.apache.org/axis2/java/core/download.cgi 2.axis2-1.7.1-w ...
- WebService(Axis2)视频教程与QQ交流群发布
Axis2是目前比较流行的WebService引擎.WebService被应用在很多不同的场景.例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用.这样可以 ...
- [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端
[图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端 一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端.看过一本SOA的书中 ...
最新文章
- OpenCV中对图像数据进行64F和8U转换的方法
- 一个项目中能提出哪些数据库优化_如何有效进行项目集管理?
- boost::allocate_unique相关的测试程序
- android 下滑,Android实现下滑和上滑事件
- 技术中国论坛版本升级了!
- 使用scatter()绘制散点图
- 设计世界上最小的 Arduino!
- 12 月 Web 服务器调查:“王者” nginx 增长最快!
- jpg灰度化 python_python开发之HighGUI上位机开发(一)
- CASIA WebFace、WIDDER FACE、FDDB、AFLW、CelebA训练集详解
- Windows7下IIS7.5的伪静态URL Rewrite安装配置和案例综合
- 18650锂电池保护板接线图_锂电池保护板的基础知识及常见不良分析
- 哈夫曼树构造及哈夫曼编码
- 运用flask框架发送短信验证码的流程及具体代码
- Ingress暴露服务的方式
- UE4 初学者内容包介绍
- 原创超简单代码(1.20)
- 10句狠话,教你用英语发泄不满情绪(可可英语)
- 极客假日礼物指南(我们喜欢的极客资料)
- 你喜欢这个邮箱代码吗?用代码实现邮件的撰写和发送
热门文章
- alpha冲刺-事后诸葛亮
- MythXinWCF通用宿主绿色版V1.2发布,及服务启动相关说明
- bootstrap jasny fileinput插件冲突问题解决
- [Unity3D]脚本中Start()和Awake()的区别
- .Net Email操作类
- Python 参数解析(getopt模块)
- read一个收到RST的socket会返回0?
- C++ 如何释放std::function中绑定的对象
- VS2015 编译Protobuf
- 微服务学习之Eureka注册中心集群环境构建【Hoxton.SR1版】