集合是一種很是有用的數據類型,基本上全部的程序離不開集合數據類型。在Axis二、XFire中使用集合,每每存在一些問題。這裏測試下 JWS中使用集合的狀況。甚至有人網上說JWS使用List會出問題,還要變通下,google一下能搜出好多一樣內容的文章。這裏我也試試,看有什麼問 題!
實際上我告訴你們,JWS使用List沒問題,不信看看下面的例子。
一、寫JWS
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);
}
}
/**
* Created by IntelliJ IDEA.
*
* @author leizhimin 2009-11-16 17:09:46
*/
public
class Foo {
private String name;
private String sex;
public Foo() {
}
......
/**
* 用戶信息
*
* @author leizhimin 2009-11-16 16:43:35
*/
public
class UserBean {
private String username;
private String address;
private
boolean flag;
public UserBean() {
}
......
二、生成客戶端代碼
三、寫測試類
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);
}
}
四、啓動運行
從上面的測試能夠看出,JWS使用Java集合並無問題,若是咱們的WebService服務端和客戶端均使用Java語言作開發,集合會獲得完美支持。
若是的客戶端使用了別的語言,好比C++、C#等,那就不必定了。