2012-01-09 23 views
8

Chúng tôi muốn thiết lập nơi triển khai dịch vụ web của chúng tôi đến máy chủ dàn dựng của chúng tôi, chúng tôi sẽ được thông báo nếu có bất kỳ thay đổi đột phá nào trong hợp đồng WSDL bằng cách so sánh chúng với WSDL của trang web sản xuất của chúng tôi.Làm thế nào để phát hiện các thay đổi đột phá trong các hợp đồng WSDL?

Có bất kỳ công cụ hoặc dịch vụ nào có thể giúp thực hiện việc này không?

Cố gắng Membrane WSDL comparer nhưng điều này đã ném java.lang.StackOverflowError khi cố gắng nó ra :)

+0

Bạn xác định điều gì là thay đổi không phá vỡ? Bất kỳ thay đổi nào đối với các cấu trúc WSDL hiện có có khả năng ảnh hưởng đến bất kỳ chương trình nào sử dụng nó. Vì vậy, một thay đổi không phá vỡ là bổ sung một chức năng mới, và/hoặc thay đổi cấu trúc hiện tại không được sử dụng bất kỳ chương trình nào trong hệ thống của bạn (phần mã của đầu vào bạn có thể cung cấp để trả lời câu hỏi)? –

+0

Có thể định nghĩa về thay đổi đột phá không rõ ràng vì nó phụ thuộc vào cách khách hàng đang sử dụng dịch vụ. Tuy nhiên, tôi hy vọng rằng thêm một hoạt động mới sẽ không phá vỡ bất kỳ khách hàng nào, nhưng việc đổi tên các hoạt động/loại/tham số sẽ phá vỡ các thay đổi. Lý tưởng nhất là một công cụ có thể liệt kê các thay đổi đối với hợp đồng, sau đó chúng tôi có thể quyết định xem các thay đổi có được chấp nhận hay không. Mục đích chung là tránh phát hành các thay đổi ngẫu nhiên đối với hợp đồng, như thể ai đó đã đổi tên một loại không biết rằng nó đã bị dịch vụ web tiếp xúc. –

+0

@Ira Tôi cũng đã hỏi [câu hỏi này] (http://stackoverflow.com/questions/8786935/what-are-considered-non-breaking-or-backwards-compatible-changes-to-a-wsdl-contr) theo dõi bình luận của bạn. –

Trả lời

3

thứ nhất; Tôi không biết về bất kỳ công cụ nào như vậy.

Tôi cũng đã trả lời câu hỏi "khác". Nhìn vào các hướng dẫn được đăng ở đó, tôi sẽ nói rằng nó có thể cuộn của riêng bạn (Có thể, không dễ dàng :).

Tôi đã thực hiện công việc tương tự trong quá khứ; mặc dù không cho WSDL nhưng đối với một phương ngữ khác. Cách tiếp cận của tôi là;

  1. Phân tích các WSDL/Schema như XML thường xuyên (Họ là sau khi tất cả phương ngữ XML bản thân) (Schema có thể được khôn lanh mặc dù)
  2. Xây dựng một mô hình trong bộ nhớ
  3. Xác định các quy tắc và áp dụng chúng

Phần WSDL dễ dàng hơn vì có một số cấu trúc giới hạn; Schema sẽ phức tạp nhưng tôi vẫn đoán được.

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