天天看點

XFire的DEMO使用

1.    Webserivces背景

WebService是一種跨程式設計語言和跨作業系統平台的遠端調用技術。

從表面上看,WebService就是一個應用程式向外界暴露出一個能通過Web進行調用的API,也就是說能用程式設計的方法通過Web來調用這個應用程式。我們把調用這個WebService的應用程式叫做用戶端,而把提供這個WebService的應用程式叫做服務端。從深層次看,WebService是建立可互操作的分布式應用程式的新平台,是一個平台,是一套标準。它定義了應用程式如何在Web上實作互操作性,可以用任何語言,在任何平台上寫Web service ,隻要可以通過Web service标準對這些服務進行查詢和通路。Web Service技術, 能使得運作在不同機器上的不同應用無須借助附加的、專門的第三方軟體或硬體, 就可互相交換資料或內建。依據Web Service規範實施的應用之間, 無論它們所使用的語言、 平台或内部協定是什麼, 都可以互相交換資料。

2.    XFire介紹

最近在研究JAVA開發Webservice,發現網絡上比較流行的幾種選擇AXIS、XFire、CFX(XFire的下一代)。在BOMC系統中主要采用XFire進行webservice接口計, XFire使得在JavaEE應用中釋出Web服務變得輕而易舉, XFire的配置非常簡單,可以非常容易地和Spring內建。下面部署一個具體例子:

開發環境:Myeclipse 8, jdk版本-1.5.0,tomcat版本-6.0.37;

1、        建立一個Web Service Project項目,建立項目截圖如下:

XFire的DEMO使用

2、        打開項目結構,發現已經将XFire相關jar包引入到項目中,我們隻需開發具體的接口就可以,

XFire的DEMO使用

打開WebRoot下WEB-INF\web.xml檔案,會發現項目已經将XFire攔截添加到xml中,内容如下:

<servlet>

    <servlet-name>XFireServlet</servlet-name>

    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

    <load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>XFireServlet</servlet-name>

    <url-pattern>/services

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       @SuppressWarnings("unused")

       Client client =null ;

       try {

            client = new Client(new URL("http://localhost:2000/XfireDemo/services/xfireService?wsdl"));

            Object[] results=client.invoke("example", new Object[] {"com.gzinfo.unlock"}) ;

            Object[] str=client.invoke("StrCompare", new Object[] {null,"UNLOCK"}) ;

            System.out.println(results[0].toString());

            System.out.println(str[0].toString());

       } catch (MalformedURLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       } catch (Exception e) {,

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

}

運作結果:

XFire的DEMO使用