<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫(xiě)此文的意義!!!煩請(qǐng)您在轉(zhuǎn)載時(shí)注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫(xiě)此文的意義!!!煩請(qǐng)您在轉(zhuǎn)載時(shí)注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
            功能描述:平常在項(xiàng)目中使用xfire來(lái)寫(xiě)webservice返回值大都為字符串,今天無(wú)意間查看了xfire的官方文檔,發(fā)現(xiàn)用xfire來(lái)編寫(xiě)返回值為list的web服務(wù)也很簡(jiǎn)單。但步驟稍微繁瑣一點(diǎn)。怕遺忘,特此記錄一番。
            環(huán)境描述:myeclipse6.5+xfire1.2
            核心代碼:
            普通的JavaBean:Users.java(該類是一普通的JavaBean,建議實(shí)現(xiàn)java.io.Serializable接口)主要用來(lái)實(shí)現(xiàn)List<Users>這種功能
            
    package com.xfiredemo.entity;

    import java.io.Serializable;

    @SuppressWarnings(
    "serial")
    public class Users implements Serializable{
        
        
    private int id;
        
    private String username;
        
    private String sex;
        
    private int age;
        
    private String memo;
        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public String getUsername() {
            
    return username;
        }

        
    public void setUsername(String username) {
            
    this.username = username;
        }

        
    public String getSex() {
            
    return sex;
        }

        
    public void setSex(String sex) {
            
    this.sex = sex;
        }

        
    public int getAge() {
            
    return age;
        }

        
    public void setAge(int age) {
            
    this.age = age;
        }

        
    public String getMemo() {
            
    return memo;
        }

        
    public void setMemo(String memo) {
            
    this.memo = memo;
        }

    }

            webservice接口IUsersService
            
    package com.xfiredemo.service;

    import java.util.List;

    import com.xfiredemo.entity.Users;

    /**
     * webservice接口
     * 
    @author coder
     *
     
    */

    public interface IUsersService {
        
        
    public List<Users> getUsers();
        
    }
            用于描述該webservice接口中返回值類型的描述文件IUsersService.aegis.xml(該文件必須與webservice中的接口位于同一目錄,且命名遵循webservice接口名.aegis.xml 如本文件IUsersService.aegis.xml)
            
    <?xml version="1.0" encoding="UTF-8"?>
        
    <!-- 
            該文件用來(lái)描述IUsersService接口中g(shù)etUsers()方法返回值的類型
            該文件必須與IUsersService位于同一目錄中,且該文件遵循如下命名規(guī)則
            webservice接口名.aegis.xml 如本文件IUsersService.aegis.xml
        
    -->
    <mappings>
        
    <!-- 映射getUsers方法返回值類型 -->
        
    <mapping>
            
    <method name="getUsers">
                
    <return-type componentType="#users"/>
            
    </method>
            
    <!--
                name對(duì)應(yīng)<return-type componentType="#users"/>中的componentType 
                class為實(shí)體bean的類型即list中存放的類型 
                componentType為實(shí)體bean的類型
            
    -->
            
    <component name="users" class="com.xfiredemo.entity.Users" componentType="com.xfiredemo.entity.Users"/>
        
    </mapping>
    </mappings>
            webservice接口實(shí)現(xiàn)類UsersServiceImpl.java (構(gòu)造模擬數(shù)據(jù))
    package com.xfiredemo.service;

    import java.util.ArrayList;
    import java.util.List;

    import com.xfiredemo.entity.Users;

    /**
     * webservice實(shí)現(xiàn)類
     * @author coder
     *
     */
    public class UsersServiceImpl implements IUsersService {
        
        //返回users對(duì)象的集合
        public List
    <Users> getUsers() {
            
            /*******************模擬數(shù)據(jù)庫(kù)往list中添加三條模擬數(shù)據(jù)并返回******************/
            List
    <Users> list=new ArrayList<Users>();
            Users users=new Users();
            users.setId(1);
            users.setUsername("user1");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無(wú)");
            list.add(users);
            
            users=new Users();
            users.setId(2);
            users.setUsername("user2");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無(wú)");
            list.add(users);
            
            users=new Users();
            users.setId(3);
            users.setUsername("user3");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無(wú)");
            list.add(users);
            
            return list;
        }
        
    }
            客戶端測(cè)試代碼:UsersServiceClient.java
    package com.xfiredemo.service.client;

    import java.net.MalformedURLException;
    import java.util.List;

    import org.codehaus.xfire.client.XFireProxyFactory;
    import org.codehaus.xfire.service.Service;
    import org.codehaus.xfire.service.binding.ObjectServiceFactory;

    import com.xfiredemo.entity.Users;
    import com.xfiredemo.service.IUsersService;

    /**
     * webservice客戶端測(cè)試類
     * 
    @author coder
     *
     
    */

    public class UsersServiceClient {
        
        
    public static void main(String[] args) {
            
    //構(gòu)建service
            Service service=new ObjectServiceFactory().create(IUsersService.class);
            
    try {
                
    //獲得自定義webservice接口
                IUsersService usersService=(IUsersService) new XFireProxyFactory().create(service, "http://localhost:8080/xfiredemo/services/UsersService");
                
    //調(diào)用該webservice中定義的getUsers()方法
                List<Users> list=usersService.getUsers();
                
    //輸出list長(zhǎng)度
                System.out.println(list.size());
                
    //遍歷list
                for (Users users : list) {
                    System.out.println(
    "id:"+users.getId()+"\tusername:"+users.getUsername()+"\tsex:"+users.getSex()+"\tage:"+users.getAge()+"\tmemo:"+users.getMemo());
                }

            }
     catch (MalformedURLException e) {
                e.printStackTrace();
            }

            
            
        }

    }

            效果圖:

            
             點(diǎn)我下載完整的例子
            參考文檔:http://docs.codehaus.org/display/XFIRE/User%27s+Guide
    posted on 2010-07-14 11:05 雪山飛鵠 閱讀(8972) 評(píng)論(4)  編輯  收藏 所屬分類: webservice

    Feedback

    # re: 輕松使用xfire編寫(xiě)返回值為list的webservice服務(wù) 2011-10-31 20:15 不知道
    客戶端怎么會(huì)有服務(wù)器端定義的users類型嗎????  回復(fù)  更多評(píng)論
      

    # re: 輕松使用xfire編寫(xiě)返回值為list的webservice服務(wù) 2012-05-02 17:14 玩兒
    都很好,可是這樣一個(gè)簡(jiǎn)單工程怎么編譯運(yùn)行啊?  回復(fù)  更多評(píng)論
      

    # re: 輕松使用xfire編寫(xiě)返回值為list的webservice服務(wù) 2013-06-18 11:21 路過(guò)的
    返回類型不是List結(jié)構(gòu)嗎 怎么又成了VO??  回復(fù)  更多評(píng)論
      

    # re: 輕松使用xfire編寫(xiě)返回值為list的webservice服務(wù) 2013-11-22 11:59 yanyujiang
    @不知道
    我也有這個(gè)疑問(wèn),感覺(jué)這都是在服務(wù)端上的,而不是客戶端上的。webservice服務(wù)端和客戶端不是分開(kāi)的嗎?  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 国产精品亚洲综合天堂夜夜| A国产一区二区免费入口| 亚洲综合色视频在线观看| 亚洲国产精品无码中文字| 一级毛片免费视频网站| 亚洲高清无码在线观看| 一区免费在线观看| 亚洲麻豆精品国偷自产在线91| 永久免费无码网站在线观看个| 亚洲国产人成中文幕一级二级| 无遮挡国产高潮视频免费观看| 国产亚洲人成无码网在线观看| 热re99久久6国产精品免费| 亚洲jizzjizz少妇| 少妇中文字幕乱码亚洲影视| 国产精品自在自线免费观看| 一级毛片免费观看不卡的| 边摸边吃奶边做爽免费视频99| 亚洲美女视频一区二区三区| 亚洲av无码乱码在线观看野外| 99精品一区二区免费视频| 免费看一级高潮毛片| 亚洲精品午夜国产va久久| 亚洲小说区图片区另类春色| 成人免费无码精品国产电影| 99视频精品全部免费观看| 一级毛片aaaaaa视频免费看| 中文日韩亚洲欧美制服| 亚洲麻豆精品果冻传媒| 亚洲无码在线播放| 免费永久国产在线视频| 中国在线观看免费国语版| 日本卡1卡2卡三卡免费| 大片免费观看92在线视频线视频| 亚洲熟妇久久精品| 亚洲国产日产无码精品| 久久久影院亚洲精品| 久久久久亚洲AV综合波多野结衣| 热久久精品免费视频| 青青视频观看免费99| 2022久久国产精品免费热麻豆|