WEB开发网
开发学院软件开发Java Java6 WebService 使用复杂对象 阅读

Java6 WebService 使用复杂对象

 2009-12-02 00:00:00 来源:WEB开发网   
核心提示: 2、生成客户端代码查看原图(大图)可以清楚的看出,在客户端代码中,Java6 WebService 使用复杂对象(3),已经生成了服务接口和服务实现类,还生成了UserBean和Foo两个类,以上三点是非常重要的,如果不知道会很郁闷,而这两个类和服务端的内容不同,3、写客户端测试代码packag

2、生成客户端代码

Java6 WebService 使用复杂对象

查看原图(大图)

Java6 WebService 使用复杂对象

可以清楚的看出,在客户端代码中,已经生成了服务接口和服务实现类,还生成了UserBean和Foo两个类,而这两个类和服务端的内容不同。

3、写客户端测试代码

package lavasoft; 
import lavasoft.wsclient.Foo; 
import lavasoft.wsclient.Java6WS; 
import lavasoft.wsclient.Java6WSService; 
import lavasoft.wsclient.UserBean; 
/** 
* 测试Java6 WS生成的客户端代码 
* 
* @author leizhimin 2009-11-16 17:05:00 
*/ 
public class TestClient { 
        public static void main(String[] args) { 
                //创建一个客户端服务对象 
                Java6WS java6WS = new Java6WSService().getJava6WSPort(); 
                System.out.println("----------java6WS.doSomething1-------------"); 
                //调用服务方法,并得到方法返回值 
                UserBean userBean = java6WS.doSomething1("zhangsan", "华中路", true); 
                //打印服务的返回值 
                System.out.println(userBean.toString()); 
                System.out.println(userBean.getUsername() + " " + userBean.getAddress() + " " + userBean.isFlag()); 
                System.out.println("----------java6WS.doSomething2-------------"); 
                Foo f = new Foo(); 
                f.setName("李四"); 
                f.setSex("Man"); 
                String sf = java6WS.doSomething2(f); 
                System.out.println(sf); 
        } 
}

4、执行客户端

执行前先启动服务端。

执行结果如下:

Java6 WebService 使用复杂对象

可以看出,测试很成功。

5、总结

这里面其实有些细节,需要说明白:

1)、对于复杂对象,必须有一个不带参数的构造方法。

2)、服务端覆盖Object的方法不能在客户端复原,比如toString方法。

3)、服务端的带参数构造方法在客户端失效。

以上三点是非常重要的,如果不知道会很郁闷,老出错还找不到原因。

出处:http://lavasoft.blog.51cto.com/62575/228152

本文示例源代码或素材下载

上一页  1 2 3 

Tags:Java WebService 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接