君辰的gravatar头像
君辰 2016-07-31 12:39:54

axis用Eclipse为什么无法生成服务?

package objws;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Address implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 6241871888661122087L;
	private String address;
	private String city;
	private String country;
	
	private String[] array;
	private List<Integer> list;
	private boolean isExist;
	public Address() {
		list = new ArrayList<Integer>();
		list.add(1);
		list.add(2);
		list.add(3);
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getCountry() {
		return country;
	}
	public void setCountry(String country) {
		this.country = country;
	}
	public String[] getArray() {
		return array;
	}
	public void setArray(String[] array) {
		this.array = array;
	}
	public List<Integer> getList() {
		return list;
	}
	public void setList(List<Integer> list) {
		this.list = list;
	}
	public boolean isExist() {
		return isExist;
	}
	public void setExist(boolean isExist) {
		this.isExist = isExist;
	}
	
	
}
package objws;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class WsService {

	//服务类
	public List<Address> getAddress(){
		
		List<Address> returnlist=new ArrayList<Address>();
		Address address=new Address();
		address.setAddress("天津");
		address.setCity("南开");
		address.setCountry("中国");
		address.setExist(false);
		address.setArray(new String[]{"a","b","c"});
		returnlist.add(address);
		
		Address address1=new Address();
		address1.setAddress("北京");
		address1.setCity("海淀");
		address1.setCountry("中国");
		address1.setExist(false);
		address1.setArray(new String[]{"b","c","d"});
		returnlist.add(address1);
		return returnlist;
	}
	public Map<Integer,Address> getAddressMap(){
		
		Map<Integer,Address> map=new HashMap<Integer,Address>();
		Address address=new Address();
		address.setAddress("天津");
		address.setCity("南开");
		address.setCountry("中国");
		address.setExist(false);
		address.setArray(new String[]{"a","b","c"});
		map.put(1,address);
		
		Address address1=new Address();
		address1.setAddress("北京");
		address1.setCity("海淀");
		address1.setCountry("中国");
		address1.setExist(false);
		address1.setArray(new String[]{"b","c","d"});
		map.put(2,address1);
		return map;
	}
		
}

这个用Eclipse自带的生成服务端,生成不了,请大神copy试下,实在解决不了?另外就是客户端调用的时候这么调用?我现在单个对象返回没问题,list就不行,我用的是axis1,不是别的,请大神看清楚,谢谢啦。

所有回答列表(2)
君辰的gravatar头像
君辰  LV7 2016年8月4日

已解决

best2018的gravatar头像
best2018  LV46 2016年8月4日

原因:JAX-RPC1.1在处理SAOP与XML的映射时,不支持返回类型是List的类型。

解决:把List的返回类型改成数组的类型。如:List<Integer>改成Integer[].

相关问答
最近浏览
huangyeqiang  LV1 2016年10月24日
君辰  LV7 2016年8月4日
best2018  LV46 2016年8月4日
aliger  LV11 2016年8月3日
sky  LV22 2016年8月2日
vance_y  LV1 2016年8月1日
alytyf_java  LV3 2016年8月1日
hrose12  LV21 2016年8月1日
三带一  LV13 2016年8月1日
Watson  LV13 2016年8月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友