<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ⅴ在线资源| 亚洲精品中文字幕无码AV| 亚洲AV永久无码精品一福利| 在线观看免费人成视频色| 亚洲一线产区二线产区区| 免费H网站在线观看的| 性xxxx黑人与亚洲| 国产高清视频在线免费观看| 亚洲人成网站色7799| 在线观看国产情趣免费视频| 亚洲a∨无码一区二区| 亚洲国产小视频精品久久久三级 | 久久国产乱子伦精品免费强| 亚洲精品成人片在线观看精品字幕 | 亚洲五月午夜免费在线视频| 国产精品免费看久久久香蕉| 国产国拍精品亚洲AV片 | 中字幕视频在线永久在线观看免费| 亚洲成a人片在线观看中文!!!| 国产啪精品视频网免费| 久久久久亚洲精品无码网址色欲| 四虎影在线永久免费四虎地址8848aa| 免费人成大片在线观看播放电影| 亚洲精品成人a在线观看| 99久久国产精品免费一区二区 | 亚洲天堂在线视频| 精品国产免费一区二区三区香蕉| 亚洲大片免费观看| 亚洲?V乱码久久精品蜜桃| 野花香在线视频免费观看大全| 亚洲视频一区在线观看| 在线免费视频一区二区| 一级一片免费视频播放| 亚洲男人的天堂在线播放| 精品久久久久久久免费人妻| 中文字幕免费视频精品一| 久久亚洲精品专区蓝色区| 国产精品亚洲产品一区二区三区| 亚洲视频免费一区| 污污污视频在线免费观看| 久久国产亚洲精品无码|