2015-04-02 31 views
6

Tôi đã cố gắng triển khai tệp chiến tranh của mình trong Wildfly 8.2. Ứng dụng của tôi sử dụng org.apache.cxf cho dịch vụ web. Tuy nhiên, Wildfly (Jboss) xuất hiện theo mặc định với các cxf riêng của nó có thể cung cấp hỗ trợ Java EE đầy đủ. Tôi có thể loại bỏ CXF JBoss và sử dụng lọ CXF của riêng tôi cho các dịch vụ web bằng cáchCách truy cập các bình CXF từ Wildfly (Jboss) cho các điểm cuối ws

JBoss-triển khai-structure.xml

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

Nhưng nó sẽ vô hiệu hóa hỗ trợ ws bởi JBoss có nghĩa là tôi thậm chí không thể tìm thấy ws thiết bị đầu cuối trong bảng điều khiển quản trị Jboss. Nhưng khách hàng của tôi cần sử dụng tính năng xây dựng của jboss trong các tính năng của ws để anh ta có thể vô hiệu hóa hoặc kích hoạt bất kỳ cuộc gọi ws nào vào bất kỳ lúc nào. Có ai biết về cách cấu hình ứng dụng của tôi để sử dụng jxoss của cxf lọ để tôi có thể điều chỉnh ws của tôi trong giao diện quản trị Jboss bất cứ lúc nào. Các liên kết sau đây giải thích chính xác giống như tôi đã đề cập cho đến nay. Tôi thành công với tùy chọn đầu tiên, nhưng tôi cần nó để làm việc với tùy chọn thứ hai.

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

Lưu ý: Xem chủ đề đầu tiên (JBoss Application Server)

tôi dường như không thể tìm ra cách tôi có thể cấu hình ứng dụng của tôi để sử dụng lọ CXF JBoss của ..!

Nếu tôi xóa tất cả phụ thuộc org.apache.cxf khỏi tệp build.gradle của mình, nó cung cấp lỗi ClassNotFoundException mà infact cho tôi biết rằng nó có thể tìm thấy bình chứa cxf-transport.

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

Nếu tôi bao gồm org.apache.cxf dependenices trong tệp build.gradle, nó cho thấy nó xung đột với bình cxf cũng có trong Jboss. Toàn bộ vấn đề là tôi cần phải sử dụng cxf có mặt trong jboss để hỗ trợ Java EE đầy đủ bằng cách loại bỏ các lọ cxf do người dùng định nghĩa.

+2

hãy xem https://docs.jboss.org/author/display/WFLY8/JBoss+Modules+and+WS+applications#JBossModulesandWSapplications-Settingmoduledependencies –

+0

Cảm ơn bạn Federico .. thats whick giải pháp chính xác tôi đã tìm kiếm.. –

Trả lời

0

Điều này có thể trùng lặp với một số phụ thuộc khác điều gì ngụ ý phiên bản khác.

tôi đã có tình trạng tương tự và phải kiểm tra và loại bỏ tất cả những un-nesesery từ org.apache.cxf, đặc biệt là bị phản đối như:

  • CXF-rt-rs-mở rộng-nhà cung cấp,
  • cxf-distribution-manifest,
  • cxf-bundle-jaxrs và
  • cxf-rt-frontend-jaxrs.

Điều quan trọng để giữ cho phù hợp để sử dụng cho tất cả ${cxf.version} org.apache.cxf, Đặc biệt cho các phiên bản sau và kiểm tra hệ thống phân cấp phụ thuộc nếu phụ thuộc khác được đưa vào thư viện CXF cũ là.

Các vấn đề liên quan