使用Xfire構建Java WebService應用

來源:互聯網
上載者:User

           現在java中開發webService的東東好像有2個:XFrie和AXIS,當然,還有SUN自己的JWSDP,可能還有很多,但是我就知道一個myeclipse5.5.1自己帶的XFrie1.2,當然了,實際的應用中也沒用過,寫出來就算是個參考吧。

           XFire是一個免費的開源SOAP架構,它可以幫你快速開發基於Java的WebService應用。把你從繁瑣的WebService配置中解放出來,你不再需要瞭解WebService是如何具體運作的,你僅僅需要關注的是如何更好地實現你的商務邏輯。

           那現在就開始我們的Xfire應用之旅吧,首先從xfire.codehaus.org網址下載Xfire,這裡我們選擇1.2.6版本。JDK我們選擇1.5版本,如果沒有你可以到SUN公司的官方網站(java.sum.com)上下載,Web伺服器這裡我們選擇Tomcat,你可以到tomcat.apache.org網站上下載最新的版本。

一 安裝Tomcat

           所有配置選擇預設,安裝完成後Tomcat的根目錄一般為:C:/Program Files/Apache Software Foundation/Tomcat 6.0,使用資源總管,導航到Tomcat的服務類別目錄,C:/Program Files/Apache Software Foundation/Tomcat 6.0/wabapps 在下面建一個你自己應用目錄,目錄名自取。我這裡命名為bos。

二 建立業務功能

           為簡單起見,這裡我們使用常規的HelloWorld。首先定義一個interface,此interface用於對外提供服務,可以說是對外的一個介面吧!然後再為該interface實做一個實現class.具體代碼如下:

//interface

package com.hk.bos.xfire;

public interface IHelloWorld {

public String showMessage(String message);
}

//implement class

package com.hk.bos.xfire;

public class HelloWorld implement IHelloWorld {

public String showMessage(String message){

           System.out.println("the client message : "+message);

}
}

好了業務功能建立完成,現在我們就開始Xfire的配置吧!

三 Xfire的配置

         回到我們第一步建立的應用目錄,本例為:C:/Program Files/Apache Software Foundation/Tomcat 6.0/wabapp/bos.

在此目錄下建兩個檔案夾:classes 和 lib,建完後再建一個名為web.xml的檔案。此檔案的內容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- START SNIPPET: webxml -->
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
   
<web-app>

<servlet>
    <servlet-name>XFireServlet</servlet-name>
    <display-name>XFire Servlet</display-name>
    <servlet-class>
        org.codehaus.xfire.transport.http.XFireConfigurableServlet
    </servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

</web-app>

看出什麼來了嗎? 對,這就是Servlet的標準配置。它的意思就是將所有的首碼為:http://yourserver:port/bos/servlet/XFireServlet/ 和 http://yourserver:port/bos/services的請求交由XFireServlet處理,而這個Servlet就是Xfire已經為我們開發好的,我們不必要做任何修改。

將你應用所要用的lib包(包括Xfire的所要用到的所有支援包)全部Copy到剛才所建的lib目錄下。

再進到剛才所建的classes 目錄下,在此目錄下建以下層級目錄META-INF/xfire目錄,再在此目錄中建一個名為services.xml檔案。檔案內容如下:

<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloWorld</name>
<namespace>http://www.boshk.com/HelloWorld</namespace>
<serviceClass>
    com.hk.bos.xfire.HelloWorld </serviceClass>
<implementationClass>
   com.hk.bos.xfire.HelloWorld
</implementationClass>
</service>
</beans>

這是XfireServlet所要使用到的配置資訊,表明資訊不用我說你也應該知道了,其中name表示單個Service的名稱,外部將使用此名稱調用。namespace名字空間。serviceClass服務類,這是我們前面建的對外服務interface。implementationClass服務實現class。當然如果你需要多個Service,僅僅只要在這裡加多一個service節點罷了。夠簡單的吧 : )

下面我們就來測試一下吧! 啟動Tomcat服務。開啟瀏覽器輸入http://yourserver:port/bos/services/HelloWorld 。如果沒有出錯,這時網頁中會顯示一個完整的XML檔案,該XML包括供Client端調用的所有資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.