XFire令WebService如此簡單

 

運行環境:JBOXX 4.04 、 Tomcat <st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">5.3.9</st1:chsdate>

開發工具:Eclipse3.1 + MyEclipse 4.0

 

1.       利用xFire發佈WebService<o:p></o:p>

對於一般的接口方法,即方法的返回類型或參數不是ListMap中存放對象的方法,則只需要兩步簡單的配置即可。

一、配置web.xml

添加一個servlet

xml 代碼
  1. <servlet>  
  2.         <servlet-name>webservice</servlet-name>  
  3.         <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>  
  4.     </servlet>  
  5.   
  6.     <servlet-mapping>  
  7.         <servlet-name>webservice</servlet-name>  
  8.         <url-pattern>/servlet/XFireServlet/*</url-pattern>  
  9.     </servlet-mapping>  
  10.     <servlet-mapping>  
  11.         <servlet-name>webservice</servlet-name>  
  12.         <url-pattern>/services/*</url-pattern>  
  13. </servlet-mapping>  

 

 

一、建立services.xml

  在源代碼包src(也可能是其它的名稱)下建立META-INF/xfire文件夾,並在下面建立services.xml文件。

xml 代碼
  1. <!-- START SNIPPET: services -->  
  2. <beans  xmlns="http://xfire.codehaus.org/config/1.0">  
  3.   <service >  
  4.     <name>helloWorld</name>  
  5.     <namespace>http://6.1.8.16:8080/xfireWebService/services/helloWorld</namespace>  
  6.     <serviceClass>com.excellence.webservice.test.helloWorld</serviceClass>  
  7.     <implementationClass>com.excellence.webservice.test.HelloWorldImpl</implementationClass>  
  8.   </service>  
  9. </beans>  
  10. <!-- END SNIPPET: services -->  

 

 

一 name 元素:表示該webService的名稱<o:p></o:p>

二 namespace 元素:表示該webService的命名空間<o:p></o:p>

三 serviceClass 元素:表示該webService的接口<o:p></o:p>

四 implementationClass 元素:表示該webService的實現類<o:p></o:p>

  <o:p></o:p>

對!就是這麼簡單,就可以啦。

  <o:p></o:p>

如果返回類型是ListMap,並且裏面存放的是自定義類的話,則需要增加一個對於服務接口的配置文件。該文件的命名規則是 接口文件名.aegis.xml。例如接口是HelloWorld.java的話,則此配置文件命名爲HelloWorld.aegis.xml<o:p></o:p>

xml 代碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <mappings>  
  3.   <mapping >  
  4.     <method name="getUsers">  
  5.       <return-type componentType="com.excellence.webservice.test.User"/>  
  6.     </method>  
  7.   </mapping>  
  8. </mappings>  

 

getUsers方法返回類型是List,裏面裝的User對象。對於這種類型的方法,在配置文件中描述了它的返回值類型。<o:p></o:p>

如果返回的類型是Map的話,做法和List一樣。但定義的類型,是Map中的Value部分,並且這樣的話,MapValue所存放的對象就必須全部是同一種類啦。<o:p></o:p>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章