当前位置: 代码迷 >> Web前端 >> Java6 WebService 施用集合
  详细解决方案

Java6 WebService 施用集合

热度:403   发布时间:2012-10-29 10:03:53.0
Java6 WebService 使用集合
集合是一种非常有用的数据类型,基本上所有的程序离不开集合数据类型。在Axis2、XFire中使用集合,往往存在一些问题。这里测试下JWS中使用集合的情况。甚至有人网上说JWS使用List会出问题,还要变通下,google一下能搜出好多同样内容的文章。这里我也试试,看有什么问题! 实际上我告诉大家,JWS使用List没问题,不信看看下面的例子。
?
1、写JWS
?
package lavasoft;

import lavasoft.wsclient.Foo;
import lavasoft.wsclient.Java6WS;
import lavasoft.wsclient.Java6WSService;
import lavasoft.wsclient.UserBean;

import java.util.ArrayList;
import java.util.List;

/**
* 测试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-------------");
????????????????//调用服务方法,并得到方法返回值
????????????????List<UserBean> listUserBean = java6WS.doSomething1("zhangsan", "华中路", true);
????????????????//打印服务的返回值
????????????????for (UserBean userBean : listUserBean) {
????????????????????????System.out.println(userBean.getUsername() + " " + userBean.getAddress() + " " + userBean.isFlag());
????????????????}

????????????????System.out.println("----------java6WS.doSomething2-------------");
????????????????List<Foo> listFoo = new ArrayList<Foo>();
????????????????Foo f1 = new Foo();
????????????????f1.setName("张三");
????????????????f1.setSex("Man");
????????????????Foo f2 = new Foo();
????????????????f2.setName("李四");
????????????????f2.setSex("Man");
????????????????listFoo.add(f1);
????????????????listFoo.add(f2);
????????????????String sf = java6WS.doSomething2(listFoo);
????????????????System.out.println(sf);
????????}
}
?
package lavasoft.server;

/**
* Created by IntelliJ IDEA.
*
* @author leizhimin 2009-11-16 17:09:46
*/

public class Foo {
????????private String name;
????????private String sex;

????????public Foo() {
????????}
......
?
package lavasoft.server;

/**
* 用户信息
*
* @author leizhimin 2009-11-16 16:43:35
*/

public class UserBean {
????????private String username;
????????private String address;
????????private boolean flag;

????????public UserBean() {
????????}

......
?
2、生成客户端代码
?
?
3、写测试类
?
package lavasoft;

import lavasoft.wsclient.Foo;
import lavasoft.wsclient.Java6WS;
import lavasoft.wsclient.Java6WSService;
import lavasoft.wsclient.UserBean;

import java.util.ArrayList;
import java.util.List;

/**
* 测试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-------------");
????????????????//调用服务方法,并得到方法返回值
????????????????List<UserBean> listUserBean = java6WS.doSomething1("zhangsan", "华中路", true);
????????????????//打印服务的返回值
????????????????for (UserBean userBean : listUserBean) {
????????????????????????System.out.println(userBean.getUsername() + " " + userBean.getAddress() + " " + userBean.isFlag());
????????????????}

????????????????System.out.println("----------java6WS.doSomething2-------------");
????????????????List<Foo> listFoo = new ArrayList<Foo>();
????????????????Foo f1 = new Foo();
????????????????f1.setName("张三");
????????????????f1.setSex("Man");
????????????????Foo f2 = new Foo();
????????????????f2.setName("李四");
????????????????f2.setSex("Man");
????????????????listFoo.add(f1);
????????????????listFoo.add(f2);
????????????????String sf = java6WS.doSomething2(listFoo);
????????????????System.out.println(sf);
????????}
}
?
4、启动运行
?
?
从上面的测试可以看出,JWS使用Java集合并没有问题,如果我们的WebService服务端和客户端均使用Java语言做开发,集合会得到完美支持。
如果的客户端使用了别的语言,比如C++、C#等,那就不一定了。
?

本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/228531

  相关解决方案