首先,我们在eclipse中建立一个WebService工程作为服务端,并编写如下代码:
IHelloService.java 服务接口,有一个方法,参数和返回值均为复杂类型User
User.java
注意,这个javabean里必须要有一个默认没有参数的构造方法,否则在进行aegis绑定会有不能实例化user对象的异常
HelloServiceImpl.java
方法实现是传进来一个user对象,把这个对象的username,password变成我们设置的数值,然后返回这个对象
IHelloService.aegis.xml 为复杂参数和返回类型绑定,和IHelloService在一个包下
services.xml xFire发布文件
部署到tomcat中,在浏览器中运行http://localhost:8080/XFire/services/HelloService?wsdl
如果部署正确,讲出现XFire生成的wsdl文件
把IHelloService.java, IHelloService.aegis.xm,User.java打包成jar
下面,我们编写消费WS的客户端
新建一个java工程,把服务端的jar放到classpath中,当然,服务和客户端都要有XFire的类库
编写代码
在tomca安装目录下的bin中启动tomcat(注意不要使用eclipse环境中的启动插件,否则运行客户端时候会自动关掉服务)
运行结果:
new name - new password
真是我们想要的结果