CXF处理形参,返回值类型-创新互联
CXF处理形参,返回值类型:

1:当形参,返回值的类型是String,基本数据类型时,CXF可以处理。
2:当形参,返回值类型是JavaBean式的复合类,List集合,数组等时,CXF可以处理
3:当形参返回值是Map,非JavaBean式的复合类,CXF自身不会按原来的类型返回,会经过转换来处理。
@XmlJavaTypeAdapter来注释到不能处理的类型
例如:
1:
@WebService
public interface TestWebservice {
public abstract void say();
public String login(String userName, String password);
//@XmlJavaTypeAdapter来注释到不能处理的类型 AdapterListMap类为转换处理的类
public @XmlJavaTypeAdapter(AdapterListMap.class) List2:
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.xml.bind.annotation.adapters.XmlAdapter; import dj.log.controller.MapEntry.Entry; //需要继承XmlAdapter类 public class AdapterListMap extends XmlAdapter>>{ @Override public List
3:其他相关的类根据具体的逻辑来处理
package dj.log.controller;
import java.util.List;
public class MapEntry {
private List entries;
public List getEntries() {
return entries;
}
public void setEntries(List entries) {
this.entries = entries;
}
public static class Entry {
private String key;
private Object value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
} package dj.log.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import dj.log.controller.MapEntry.Entry;
public class ListMap {
private List list;
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public List> unmarshal(ListMap v) throws Exception {
List> list=new ArrayList>();
for(MapEntry mapEntry:v.getList()){
Map map=new HashMap();
for(Entry entry:mapEntry.getEntries()){
map.put(entry.getKey(), entry.getValue());
}
list.add(map);
}
return list;
}
public ListMap marshal(List> v) throws Exception {
ListMap listMap=new ListMap();
for(Map map:v){
MapEntry mapEntry=new MapEntry();
for(String key:map.keySet()){
Entry entry=new Entry();
entry.setKey(key);
entry.setValue(map.get(key));
mapEntry.getEntries().add(entry);
}
}
return listMap;
}
} 另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:CXF处理形参,返回值类型-创新互联
标题来源:http://www.jxjierui.cn/article/idhpd.html


咨询
建站咨询
