Tôi đã sử dụng cả hai phương pháp tiếp cận. Đề xuất của tôi là sử dụng hợp đồng hợp đồng trước tiên, nhưng mã đầu tiên WSDL.
Viết tệp WSDL có nhiều sắc thái kỳ lạ như liên kết, cổng và các thứ như vậy. Tôi muốn thực hiện điều này bằng các công cụ thay vì bằng tay. Có các công cụ để giúp thực hiện việc này, nhưng không có công cụ nào đơn giản hơn
@WebService
public ...
Ít nhất bạn có thể xác minh triển khai của mình.
Đối với lược đồ, tôi đề xuất hợp đồng trước tiên vì ngôn ngữ lược đồ XML phong phú hơn nhiều so với những gì bạn có thể mô tả trong Java. Một ví dụ tôi thường đưa ra là cho thấy rằng Lược đồ XML có thể hạn chế kích thước của một chuỗi và áp dụng một mẫu biểu thức chính quy. Làm điều đó trong Java và chú thích trông hơi lộn xộn hơn một chút.
Một ưu điểm khác của việc làm lược đồ dưới dạng hợp đồng trước tiên là sự hiện diện của các công cụ để chuyển đổi tệp lược đồ của bạn thành tài liệu HTML.
Công cụ XJC có thể tạo các tệp lớp cần thiết. Tuy nhiên, tôi sẽ chỉ khuyên bạn nên làm điều đó lúc bắt đầu.
Cuối cùng, bạn nên lấy tệp WSDL được tạo và làm việc với tệp đó thay thế. Bằng cách đó bạn có thể sử dụng wsimport và xác minh rằng toàn bộ thứ từ WSDL đến Schema là hợp lệ.
Bạn có thể triển khai với tệp WSDL bằng cách sử dụng thuộc tính wsdlLocation trong triển khai @WebService và máy chủ ứng dụng sẽ sửa dữ liệu ràng buộc cho bạn khi người dùng yêu cầu WSDL từ máy chủ, nhưng bạn vẫn giữ lại chú thích của mình. Nếu không, chú thích của bạn sẽ không xuất hiện trên các tệp WSDL được yêu cầu.
Nguồn
2010-10-01 18:25:50
Vì câu hỏi hỏi về những ưu điểm và nhược điểm của mỗi bên, tôi không thấy rằng đó là chủ quan. –