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