使用Xfire開發(fā)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,這里我們實現接口中定義的業(yè)務邏輯
          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,返回需要的結果,這里我們直接創(chuàng)建一個模擬數據,下面是實現類中用到的對象
           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開發(fā)WebService 2011-04-26 09:53 李慶文

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

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

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

          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類(15)

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 三穗县| 黄石市| 松江区| 辉南县| 昔阳县| 凤阳县| 灌南县| 金门县| 太和县| 桐庐县| 尚义县| 平安县| 花垣县| 东海县| 塔城市| 潮州市| 密山市| 洛隆县| 吉安市| 隆德县| 东明县| 临夏县| 吉林市| 安乡县| 西城区| 连江县| 赤水市| 夏河县| 靖江市| 鹿邑县| 百色市| 宜宾县| 新邵县| 九龙城区| 高唐县| 莱州市| 抚远县| 芮城县| 磴口县| 昭通市| 罗江县|