当前位置: 代码迷 >> Web前端 >> 【web service】施用eclipse进行客户端开发
  详细解决方案

【web service】施用eclipse进行客户端开发

热度:105   发布时间:2012-11-22 00:16:41.0
【web service】使用eclipse进行客户端开发
使用cxf进行javabean的传递,以及复杂类型(list)的传递。

1,建立一个web service。
然后建立自定义对象User
package com.duduli.user;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

import org.apache.cxf.aegis.type.java5.XmlType;

//@XmlType(name = "user") 
//@XmlAccessorType(XmlAccessType.FIELD)
public class User {
	public User(){
	};
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}


似乎注解可有可无

2,建立基础发送传递方式javabean和list
	@WebMethod(operationName = "getU", action = "urn:GetU")
	public User getU();
	
	@WebMethod(operationName = "getUserArray", action = "urn:GetUserArray")
	public ArrayList<User> getUserArray();

上面为一个interface,请对其进行实现
	@Override
	public User getU() {
		// TODO Auto-generated method stub
		User u = new User();
		u.setName("duduli");
		u.setAge(21);
		return u;
	}

	@Override
	public ArrayList<User> getUserArray() {
		// TODO Auto-generated method stub
		System.out.println("return array");
		User u = new User();
		u.setName("tom");
		u.setAge(23);
		ArrayList<User> l = new ArrayList<User>();
		l.add(u);
		return l;
	}



3,开启web service。

客户端调用。
使用eclipse for javaee
建立一个动态web 项目


填写项目名称之后,点击完成。


在项目名称上点击右键,新建web service client




填写wsdl


点击完成后就会出现一堆java类文件。




然后编写测试类


	@org.junit.Test
	public void test02() {
		FirstImpService fis = new FirstImpService();
		First f = fis.getFirstImpPort();
		User u = f.getU();
		System.out.println(u.getName());
		System.out.println(u.getAge());
	}

	@org.junit.Test
	public void test03() {
		FirstImpService fis = new FirstImpService();
		First f = fis.getFirstImpPort();
		List<User> u = f.getUserArray();
		for(User user:u){
			System.out.println(user.getName());
			System.out.println(user.getAge());
		}
	}


注意在这里传递list或map对象的时候不能穿List要它的实现类,ArrayList。map也是一样。使用HashMap进行传送,否则客户端执行的时候会出现类型转换不成功。

  相关解决方案