ps:最近項目需要跟其他系統做同步,需要使用webservice來提供接口給其他系統調用;臨時抱佛腳趕緊去網上找了下資料,發現用Endpoint的方式發布接口好容易哦;趕緊寫了個例子做驗證,發布成功。網上實例很多就不啰嗦了,這里說下通過Endpoint.publish的方式放到項目中去之后各種報錯,網上找的解決辦法都不靈;后來仔細研究項目代碼發現,項目底層通過cxf和spring做了整合了,多了一堆cxf開頭的jar包,所以報錯;所以只要你項目中沒有cxf開頭的jar包,還是可以使用Endpoint這種非常簡單的方式發布接口的;但Endpoint有一個弊端:就是接口復雜之后,暴露的wsdl接口xml樣式會錯亂,網上看到的,沒實踐過;
言歸正傳,下面說下spring和cxf整合的配置
1、定義webservice接口
2、定義接口實現類
3、讓spring管理ServerFactoryBean(涉及項目資料,只貼出部分核心代碼)
4、cxf集成到web容器中,在web.xml中添加如下代碼
5、啟動項目的同時發布webservice接口
6、在瀏覽器中輸入http://ip:端口/項目名/ws/接口名?wsdl
ps:接口名就是<jaxws:server>標簽中的address參數的值;
大家也可以參考這個資料,說的比我好:https://www.cnblogs.com/zhanxiaoyun/p/6144651.html