2012-11-17 35 views
6

Câu hỏi này có thể ngớ ngẩn nhưng tôi chưa tìm được cách để có được WSDL 2.0 được tạo bởi dịch vụ Web RI JAX-WS.Cách tạo WSDL 2.0 với JAX-WS

Tôi đã sử dụng phiên bản jax-ws mới nhất và nếu tôi tạo WS đơn giản (ví dụ như ví dụ bên dưới), WSDL được tạo sẽ là phiên bản 1.1.

@WebService 
    public interface RandomNumberGenerator { 

     Integer getRandomNumber(); 

    } 

    @WebService(endpointInterface="RandomNumberGenerator") 
    public class RandomNumberGeneratorImpl { 

     public Integer getRandomNumber() { 
      return (int) (Math.random() * 1000); 
     }  
    } 

Có ai biết cách tôi nói rõ với JAX-WS để tạo WSDL 2.0 không? Xem xét 2.0 là khuyến cáo của W3C từ năm 2007, tôi khá tự tin JAX-WS cung cấp một cách để tạo ra nó.

Cảm ơn.

Trả lời

9

Tôi khá tự tin JAX-WS cung cấp cách tạo.

Tôi e là không. Trích dẫn từ the JAX-WS 2.0 specification, trang 2, Phần Mục tiêu:

WSDL 2.0: Các W3C dự kiến ​​sẽ tiến WSDL 2.0 [11] để Khuyến nghị trong suốt cuộc đời của JSR này. JAX-WS 2.0 sẽ thêm hỗ trợ cho WSDL 2.0 trong khi yêu cầu hỗ trợ liên tục cho WSDL 1.1. Lưu ý: Nhóm chuyên gia cho JSR đã quyết định chống lại mục tiêu này cho bản phát hành này. Chúng tôi sẽ xem xét thêm hỗ trợ trong bản sửa đổi tương lai của đặc tả kỹ thuật JAX-WS .

Điều này có nghĩa là sẽ không có hỗ trợ WSDL 2.0 trong JAX-WS 2.0, đó là lý do tại sao triển khai tham chiếu không cung cấp. Afaik, hiện tại không có nhiều tiến bộ trong lĩnh vực này.

Nếu bạn muốn WSDL 2.0 dọc theo JAX-WS, bạn sẽ phải sử dụng một ngăn xếp khác, chẳng hạn như Axis2.

+1

Điều này có thay đổi không? Bây giờ có thể không? Làm thế nào là nó trong trường hợp của glassfish 4? – bastiat

+2

Không có bản cập nhật cho JAX-WS (cũng không được cập nhật cho Java 9, afaik), vì vậy điều này đã không thay đổi. Tôi cũng không nhận thức được các cập nhật liên quan đến WSDL trong glassfish 4. Thành thật mà nói, tôi sẽ rất ngạc nhiên nếu WSDL 2.0 sẽ được hỗ trợ. – joergl

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