CXF是webService的框架,能夠和spring無縫整合
##服務端編寫
1.建立動態web專案
2.導入cxf和spring相關jar套件(CXF核心套件:cxf-2.4.2.jar)
3.在web.xml中設定CXF框架的核心Servlet
1 <servlet> 2 <servlet-name>cxf</servlet-name> 3 <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 4 <init-param> 5 <param-name>config-location</param-name> 6 <param-value>classpath:applicationContext.xml</param-value> 7 </init-param> 8 </servlet> 9 <servlet-mapping>10 <servlet-name>cxf</servlet-name>11 <url-pattern>/webservice/*</url-pattern>12 </servlet-mapping>
4.提供spring框架的設定檔applicationContext.xml
## applicationContext.xml的限制:<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"xmlns:soap="http://cxf.apache.org/bindings/soap"xsi:schemaLocation="http://www.springframework.org/schema/beans ">5.開發一個服務類別 註:服務類別必須加註解 @WebService6.在spring中設定檔中註冊服務
<jaxws:endpoint id="" address="/hello" implementor=""></jaxws:endpoint><!-- id为服务的id,任意填写 address 为访问地址 implementor为服务类的全类名-->啟動web工程,瀏覽器存取
客戶端
(用wsdl2java指令產生本機程式碼呼叫)
1,在wsdl2java.bat指令所在的資料夾下開啟指令視窗,輸入:wsdl2java -d .路徑
(路徑為service發布後頁面的wsdl的全路徑,service存取的路徑名稱加?wsdl),回車後會在目前資料夾下產生資料夾
2 .把資料夾複製到專案中
(用spring檔案註冊代理物件呼叫)
1.建立專案,可以不是web專案,導入jar套件
2.將產生的介面複製到專案中,
3.建立applicationContext.xml檔案中設定代理物件
<jaxws:client id="" address = "" serviceClass =""></jaxws:client><!-- id值随意, adress的值为wsdl的路径值,当不在本机是,须要修改ip serviceClass为接口的全路径-->
4.編寫實作類別(如下為範例)
public static void main(String[] args) {//创建工厂对象ClassPathXmlApplicationContext cts = new ClassPathXmlApplicationContext("applicationContext.xml"); Fun1 proxy = (Fun1) cts.getBean("myclient"); String string = proxy.sayHello("呵呵", 12); System.out.println(string); }
以上是spring整合cxf框架實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!