簡體   English   中英

如何從 Wildfly (Jboss) 為 ws 端點訪問 CXF jar

[英]How to access CXF jars from Wildfly (Jboss) for ws endpoints

我試圖在 Wildfly 8.2 中部署我的戰爭文件。 我的應用程序將 org.apache.cxf 用於 Web 服務。 但是 Wildfly (Jboss) 默認帶有自己的 cxf jar,可以提供完整的 Java EE 支持。 我可以消除 jboss cxf 並通過

jboss-部署-結構.xml

<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="webservices" />
        </exclude-subsystems>
    </deployment>
</jboss-deployment-structure>

但它會禁用 jboss 對 ws 的支持,這意味着我什至無法在 Jboss 管理控制台中找到 ws 端點。 但是我的客戶需要利用 jboss 內置的 ws 功能,以便他可以隨時禁用或啟用任何 ws 調用。 有誰知道如何配置我的應用程序以利用 jboss 的 cxf jar,以便我可以隨時在 Jboss 管理控制台中調整我的 ws。 以下鏈接解釋了我到目前為止提到的完全相同的內容。 我成功地使用了第一個選項,但我需要它與第二個選項一起使用。

http://cxf.apache.org/docs/application-server-specific-configuration-guide.html

注:見第一個主題(JBoss Application Server)

我似乎無法弄清楚如何配置我的應用程序以利用 jboss 的 cxf jars..!

如果我從 build.gradle 文件中刪除所有 org.apache.cxf 依賴項,它會給出 ClassNotFoundException 錯誤,這實際上告訴我它可以找到 cxf-transport jar。

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet

如果我在 build.gradle 文件中包含 org.apache.cxf 依賴項,則表明它與 Jboss 中也存在的 cxf jar 沖突。 整個問題是我需要通過消除用戶定義的 cxf jar 來利用 jboss 中存在的 cxf 來獲得完整的 Java EE 支持。

這可能與其他一些依賴項重疊,這意味着不同的版本。

我遇到了同樣的情況,不得不測試並從 org.apache.cxf 中刪除所有非必要的,尤其是不推薦使用的,例如:

  • cxf-rt-rs-extension-providers,
  • cxf-分發清單,
  • cxf-bundle-jaxrs 和
  • cxf-rt-前端-jaxrs。

為所有org.apache.cxf使用${cxf.version}保持兼容性很重要,特別是對於更高版本,如果其他依賴項引入了較舊的 cxf 庫,請檢查依賴層次結構。

暫無
暫無

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

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