簡體   English   中英

如何使用Apache CXF作為客戶端?

[英]How to use Apache CXF as client?

我知道如何使用Apache CXF生成客戶端存根。 但是,當我嘗試運行生成的類時,它使用JAXWS。 另外,我注意到生成的類的導入類來自javax包。 如何使用set生成的類來使用Apache CXF庫而不是JAXWS庫?

以下是我用於生成客戶端存根的代碼:

wsdl2java -frontend jaxws21 -wsdlLocation "META-INF/wsdl/WSCustom.wsdl" -client -d C:\Workspace\WSClient\META-INF\wsdl\ "C:\Workspace\WSClient\META-INF\wsdl\WSCustom.wsdl"

存根是正確的,它們中不應包含任何特定於CXF的導入,因為可以使用JAX-WS標准注釋來表示CXF所需的所有信息。 在運行時,如果CXF客戶端庫位於類路徑上,則將使用它們;如果CXF不可用,則將使用內置於JDK的RI庫。 生成的存根都可以使用。

您在注釋中詢問是否僅在運行客戶端需要哪些CXF JAR-據我所知,這只是cxf-rt-frontend-jaxwscxf-rt-transports-http及其傳遞依賴項。 如果您的項目是使用maven構建的,則只需聲明這兩個依賴關系,其他所有內容都應自動輸入,否則請下載Apache Ivy主JAR ,然后運行

java -jar ivy-2.3.0.jar -dependency org.apache.cxf cxf-rt-frontend-jaxws 2.7.3 -retrieve "[artifact]-[revision](-[classifier]).jar"
java -jar ivy-2.3.0.jar -dependency org.apache.cxf cxf-rt-transports-http 2.7.3 -retrieve "[artifact]-[revision](-[classifier]).jar"

這應該解決傳遞依賴關系,並將相關的JAR從Maven Central下載到當前目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM