使用Xfire開發WebService

          MyEclipse中和許多網站的WebService教程以HelloWord為例,內容比較簡單,在實際的項目應用中大多都是對象和集合,現在我們擴展下,使用webservice傳遞對象,字符串,集合;
          下面是我們設計的webservice的接口:
           1package com.test.service;
           2
           3import java.util.List;
           4
           5public interface IPerson {
           6    //根據用戶名獲取密碼
           7    public String getPassword(String name);
           8    //根據用戶名獲取Person對象
           9    public Person getPersonByName();
          10    //獲取全部成員
          11    public List<Person> getAllPerson();
          12}

          其中有三個方法包含了傳遞:String,Object,List集合;
          2,這里我們實現接口中定義的業務邏輯
          package com.test.service;

          import java.util.LinkedList;
          import java.util.List;

          public class PersonImpl implements IPerson {
              
              
              
          public String getPassword(String name) {
                  
                  
          return "Password";
              }


              
          public Person getPersonByName() {
                  
                  
          return new Person("ObjectName","ObjectPass");
              }


              
          public java.util.List<Person> getAllPerson(){
                  
                  List list 
          = new LinkedList();
                  list.add(
          new Person("One","PassOne"));
                  list.add(
          new Person("Two","PassTwo"));
                  list.add(
          new Person("Three","PassThree"));
                  
          return list;
              }

          }

          在實際應用中比較復雜,可能用調用持久層的Dao,返回需要的結果,這里我們直接創建一個模擬數據,下面是實現類中用到的對象
           1package com.test.service;
           2
           3public class Person {
           4    private String name;
           5    private String password;
           6    
           7    public Person() {
           8        super();
           9    }

          10    public Person(String name, String password){
          11        super();
          12        this.name = name;
          13        this.password = password;
          14    }

          15    public String getPassword(){
          16        return password;
          17    }

          18    public void setPassword(String password){
          19        this.password = password;
          20    }

          21}

          22

          3,編寫XFire要求的WebSevice定義描述文件,如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://xfire.codehaus.org/config/1.0">

              
          <service>
                  
          <name>Person</name>
                  
          <serviceClass>com.test.service.IPerson</serviceClass>
                  
          <implementationClass>
                      com.test.service.PersonImpl
                  
          </implementationClass>
                  
          <style>wrapped</style>
                  
          <use>literal</use>
                  
          <scope>application</scope>
              
          </service></beans>
          本文件的放置位置很關鍵,此文件放在src/META-INF/xfire/services.xml,如果使用MyEclipse新建的不是webapplication,而是webservice項目,這一步就省去自己編寫了,編譯時會自動編譯到classes的相應目錄下面。web.z
          5,編譯xml,定義XfireConfigableServlet
           1<?xml version="1.0" encoding="UTF-8"?>
           2<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
           3  <servlet>
           4    <servlet-name>XFireServlet</servlet-name>
           5    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
           6    <load-on-startup>0</load-on-startup>
           7  </servlet>
           8  <servlet-mapping>
           9    <servlet-name>XFireServlet</servlet-name>
          10    <url-pattern>/services/*</url-pattern>
          11  </servlet-mapping>
          12  <welcome-file-list>
          13    <welcome-file>index.jsp</welcome-file>
          14  </welcome-file-list>
          15</web-app>
          16
          17
          所有的工作都已經作完,接下來在部署在tomcate下,啟動服務器,在地址欄鍵入:http://127.0.0.1:8080/MyWebService/srevice/Person?wsdl
          如果出現xml描述文件就成功了;


          posted on 2008-06-20 12:10 空白 閱讀(855) 評論(2)  編輯  收藏 所屬分類: Java

          評論

          # re: 使用Xfire開發WebService 2011-04-26 09:53 李慶文

          這個對嗎?我覺得好像不是很對。你person類放置在什么位置?我也是這樣建立的。但是,myeclipse提示mywebservice找不到person類。  回復  更多評論   

          # re: 使用Xfire開發WebService 2011-05-10 21:17 空白

          @李慶文
          src目錄com.test.service包中
            回復  更多評論   

          <2008年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類(15)

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 南陵县| 大方县| 库伦旗| 德兴市| 宁陵县| 昭通市| 阳曲县| 杭锦后旗| 监利县| 高碑店市| 天全县| 祁连县| 白水县| 儋州市| 郑州市| 兴隆县| 阜康市| 焦作市| 滨海县| 扎兰屯市| 和田县| 驻马店市| 鸡东县| 息烽县| 铜山县| 台北市| 宜兴市| 津南区| 铜陵市| 璧山县| 秀山| 涡阳县| 丹江口市| 民乐县| 临漳县| 黑河市| 四子王旗| 永定县| 绍兴市| 同江市| 鄂托克旗|