Complex objects can represent more powerful semantics than simple objects, and here's a look at how complex object parameters are used in Java6 WebService.
Here the parameters are divided into two classes, one is the incoming parameter, the other is the return value.
Complex objects are not as simple as they think, and there are some mystery. Take a look at the example:
1, development services, all in the service side
package lavasoft.server;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* Java6开发的WebService服务端
*
* @author leizhimin 2009-11-16 10:24:13
*/
@WebService
public class Java6WS {
//返回一个复杂对象
public UserBean doSomething1(String username, String address, boolean flag) {
return new UserBean(username, address, flag);
}
//接收一个复杂对象
public String doSomething2(Foo foo) {
return foo.toString();
}
public static void main(String[] args) {
//发布一个WebService
Endpoint.publish("http://192.168.14.117:9999/java6ws/Java6WS", new Java6WS());
}
}
Package Lavasoft.server
/**
* User Information
*
* @author leizhimin 2009-11-16 16:43:35
*/
Public C Lass UserBean {
Private String username;
Private String address;
Private Boolean flag;
Public UserBean () {
}
Public UserBean (string username, string address, Boolean FLA g) {
This.username = Username;
this.address = address;
This.flag = flag;
}
Public String getusername () {
return username
public void Setusername (String username) {
This.username = Username;
Public String getaddress () {
return address;
public void setaddress (String address) {
This.address = address;
Public boolean Isflag () {
return flag;
}
public void Setflag (Boolean flag) {
This.flag = flag;
@Override
Public String toString () {
return "userbean{" +
"Username= '" + username + ' \ ' +
", address= '" + address + ' \ ' +
", flag=" + Flag +
'} ';
}
}