解決cxf+spring發佈的webservice缺少和標籤的問題

最近學習cxf+spring發佈webservice服務,但是遇到服務發佈成功,查看其wsdl文件的時候卻缺少<wsdl:import><wsdl:message>標籤,查看代碼確實沒什麼問題,因爲用來測試,代碼比較簡單,但就是不出現以上兩個標籤。百度谷歌到處找原因找不到。失望……

還是自己好好動手解決問題吧。

認真看發佈後的wsdl文件,發現多了<wsdl:import>標籤(<wsdl:importlocation="http://localhost:8080/cxf-Spring-server/Hello?wsdl=HelloWorld.wsdl" namespace="http://dao.testCxfSpring.spg.com/"></wsdl:import>),將<wsdl:import>標籤中的location拿出去在瀏覽器中打開,裏面是“丟失”的兩個標籤,這時候就發現其實並不是丟失了,而是包含在了<wsdl:import>標籤內

爲什麼會包含在了<wsdl:import>標籤內?再研究,發現<wsdl:definitions>標籤內的targetNamespace屬性和<wsdl:import>namespace屬性的值不同,發現原因所在

最終解決方案

1,將接口類和實現類放在同一個包下,問題即可解決

2,將接口類和實現類中的註解中加入命名空間屬性配置,@WebService(targetNamespace="XXXXX"),兩個配置成一樣


http://blog.csdn.net/fengspg/article/details/7404383

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