cxf的使用以及與SSH的整合


    經歷過一小段忙碌的時間,終於有時間開始整理項目中曾遇到的技術難點,並不是什么新穎的技術難點,只是自己在這樣方面所了解的不健全或者是沒有了解透徹,現在都抽時間進行整理。

    首先就是需要在ssh的系統中整合webService作為客戶端,當時在網絡上看到好多資料,道理都是對的,但是給出的包都是卻三少倆的,結果自己測試了好長時間才測試出完整的包。

    下面是cxf(3.0.9)整合ssh時所需要的jar,分享鏈接:http://pan.baidu.com/s/1c1QELag

    

    接下來是整合ssh所需要的全部jar,分享鏈接:http://pan.baidu.com/s/1c1JTlQw

    

    

     

    以上就是在使用前的包,有關與ssm整合,還未進行測試。

    接下來說一下cfx在ssh中的使用,本次用的是注解開發:

    首先是需要在web.xml中配置cxf servlet:

   

<!-- cxf servlet -->
    <servlet>
       <servlet-name>cxfServlet</servlet-name>
       <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>cxfServlet</servlet-name>
       <url-pattern>/ws/*</url-pattern>
    </servlet-mapping> 

  上面代碼中主要是<url-pattern>,該項配置的是webservice服務訪問的父路徑,也就是訪問的時候需要ws/....,后面會給出詳細的路徑。

 

    接下來是一個cxf與spring整合的一個配置文件:

    <?xml version="1.0" encoding="UTF-8"?>

<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:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
                            http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">

<!--
xmlns:cxf="http://cxf.apache.org/core"  
 發布cxf服務
address:是webservice接口路徑
webservice地址是:http://localhost:8080/ws/myscxf
/ws/是在web.xml配置的cxf的servlet的攔截路徑

serviceClass:就是 portType(接口類型)
--> <jaxws:server address="/mycxf" serviceClass="cn.esign.service.UnitService"> <!-- webservice服務由serviceBean指定的service進行處理 --> <jaxws:serviceBean> <!-- ref引用ioc容器中bean的id --> <ref bean="unitService"/> </jaxws:serviceBean> </jaxws:server> </beans>

    上面代碼的注釋中都有詳細說明,只是需要注意一點,如果此處用的是注解開發,那么應該在實現UnitService接口的實現類的類名上應該加一個注解@Service("unitService"),如果用的是在配置文件中進行bean的管理,那么需要注意該bean的id。

    在上面的都配置好之后,就可以在UnitService接口名上加注解@WebService,那么該接口下的方法都將以會以服務的形式暴露出來,啟動之后就可以使用了,啟動之后可以輸入http://localhost:8080/項目名/ws/mycxf?wsdl進行訪問,如果配置成功,那么網頁上顯示的將是一些xml代碼。

  

    客戶端方面:

        如果使用的是Java作為客戶端,那么可以通過命令直接生成:

                1、首先啟動客戶端

       2、在命令行界面進入工作控件的src目錄下

         3、輸入命令   wsdl2java   -encoding utf-8 http://localhost:8080/項目名/ws/mycxf?wsdl

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM