2011-08-05 77 views
2

任何人都可以讓我知道在使用原始WSDL的Apache CXF服務器中生成WSDL的方法是什麼。使用原始wsdl在CXF中生成wsdl

我知道Axis 2Service.xml中有一個配置,將useOriginalWSDL設置爲TRUE,我得到原始的wsdl。

我想知道CXF中的設置。

回答

4

對於使用原來的WSDL生成WSDL在CXF服務器,我們可以在元素jaxws:endpoint

屬性利用屬性wsdlLocation,指定端點的WSDL合約的位置。 WSDL合約的位置是相對於從中部署服務的文件夾。

OR 在CXF我們可以使用@WebService註解我們可以指定WSDL位置請參考文檔 約@WebService

我自己找到了答案,我認爲這是一個簡單的問題,但認爲這個答案可以在計算器

編輯:

Eventhough我加wsdlLocation,服務不能被CXF框架創建。 apache tomcat中的錯誤並沒有那麼有用,只是指出服務無法創建。 對於正確的工作jaxws:endpoint應該具有以下屬性:

  1. wsdlLocation - 服務名在WSDL,在WSDL例如指定的命名空間e:ServiceName
  2. endpointName - - 從項目文件夾如/WEB-INF/originalwsdl.wsdl
  3. serviceName相對路徑此是端口綁定名稱,與serviceName相同的規則例如e1:endpointName

請記住def ine命名空間爲e:和e1由xmlns:e="namespace as in your wsdl"

畢竟這個設置我的應用程序工作。 我們從wsdl創建的類應該與目標名稱空間具有相同的包名稱,以使用原始WSDL創建完全相同的WSDL。請有人確認這一發現。

我發現有對CXF非常小的文件,並在代碼和XSD我的解決方案

+1

提出和回答一個「簡單」的問題是好的,完全在規則不得不 挖。一旦你真正瞭解問題,問題往往很簡單;在那之前,這很難。 –