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

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

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

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
            功能描述:平常在項目中使用xfire來寫webservice返回值大都為字符串,今天無意間查看了xfire的官方文檔,發現用xfire來編寫返回值為list的web服務也很簡單。但步驟稍微繁瑣一點。怕遺忘,特此記錄一番。
            環境描述:myeclipse6.5+xfire1.2
            核心代碼:
            普通的JavaBean:Users.java(該類是一普通的JavaBean,建議實現java.io.Serializable接口)主要用來實現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"?>
        
    <!-- 
            該文件用來描述IUsersService接口中getUsers()方法返回值的類型
            該文件必須與IUsersService位于同一目錄中,且該文件遵循如下命名規則
            webservice接口名.aegis.xml 如本文件IUsersService.aegis.xml
        
    -->
    <mappings>
        
    <!-- 映射getUsers方法返回值類型 -->
        
    <mapping>
            
    <method name="getUsers">
                
    <return-type componentType="#users"/>
            
    </method>
            
    <!--
                name對應<return-type componentType="#users"/>中的componentType 
                class為實體bean的類型即list中存放的類型 
                componentType為實體bean的類型
            
    -->
            
    <component name="users" class="com.xfiredemo.entity.Users" componentType="com.xfiredemo.entity.Users"/>
        
    </mapping>
    </mappings>
            webservice接口實現類UsersServiceImpl.java (構造模擬數據)
    package com.xfiredemo.service;

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

    import com.xfiredemo.entity.Users;

    /**
     * webservice實現類
     * @author coder
     *
     */
    public class UsersServiceImpl implements IUsersService {
        
        //返回users對象的集合
        public List
    <Users> getUsers() {
            
            /*******************模擬數據庫往list中添加三條模擬數據并返回******************/
            List
    <Users> list=new ArrayList<Users>();
            Users users=new Users();
            users.setId(1);
            users.setUsername("user1");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無");
            list.add(users);
            
            users=new Users();
            users.setId(2);
            users.setUsername("user2");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無");
            list.add(users);
            
            users=new Users();
            users.setId(3);
            users.setUsername("user3");
            users.setSex("男");
            users.setAge(20);
            users.setMemo("暫無");
            list.add(users);
            
            return list;
        }
        
    }
            客戶端測試代碼: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客戶端測試類
     * 
    @author coder
     *
     
    */

    public class UsersServiceClient {
        
        
    public static void main(String[] args) {
            
    //構建service
            Service service=new ObjectServiceFactory().create(IUsersService.class);
            
    try {
                
    //獲得自定義webservice接口
                IUsersService usersService=(IUsersService) new XFireProxyFactory().create(service, "http://localhost:8080/xfiredemo/services/UsersService");
                
    //調用該webservice中定義的getUsers()方法
                List<Users> list=usersService.getUsers();
                
    //輸出list長度
                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();
            }

            
            
        }

    }

            效果圖:

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

    Feedback

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

    # re: 輕松使用xfire編寫返回值為list的webservice服務 2012-05-02 17:14 玩兒
    都很好,可是這樣一個簡單工程怎么編譯運行啊?  回復  更多評論
      

    # re: 輕松使用xfire編寫返回值為list的webservice服務 2013-06-18 11:21 路過的
    返回類型不是List結構嗎 怎么又成了VO??  回復  更多評論
      

    # re: 輕松使用xfire編寫返回值為list的webservice服務 2013-11-22 11:59 yanyujiang
    @不知道
    我也有這個疑問,感覺這都是在服務端上的,而不是客戶端上的。webservice服務端和客戶端不是分開的嗎?  回復  更多評論
      

    主站蜘蛛池模板: 爱丫爱丫影院在线观看免费| 亚洲最大成人网色| jizzjizz亚洲| 国产成人免费永久播放视频平台| 无码精品A∨在线观看免费| 在线观看永久免费| 国产精品永久免费10000| 91精品国产免费久久久久久青草| 在线永久免费的视频草莓| 2021免费日韩视频网| 91嫩草国产在线观看免费| 最近中文字幕无吗高清免费视频| 天天摸夜夜摸成人免费视频| 免费视频淫片aa毛片| 国产成人涩涩涩视频在线观看免费| 国产jizzjizz免费看jizz| 免费人成视频x8x8入口| 亚洲男人的天堂一区二区| 国产gv天堂亚洲国产gv刚刚碰| 亚洲精品无码mv在线观看网站| 亚洲VA成无码人在线观看天堂| 亚洲欧洲国产日韩精品| 亚洲不卡中文字幕| 日韩欧美亚洲中文乱码| 国产精品九九久久免费视频| 你懂的免费在线观看网站| 日本亚洲免费无线码| 免费一级毛片在级播放| 亚洲精品无码永久中文字幕| 亚洲国产精品国自产拍电影| 亚洲乱码中文字幕小综合| 老子影院午夜伦不卡亚洲| 久久久受www免费人成| 69免费视频大片| 国产美女精品久久久久久久免费| 国产亚洲成人久久| 亚洲免费观看在线视频| 香港特级三A毛片免费观看| 97无码人妻福利免费公开在线视频| 免费在线观看h片| jjzz亚洲亚洲女人|