Vì vậy, tôi là một chút mới đối với dịch vụ web và một tình huống gần đây đã xuất hiện nơi chúng tôi đã thêm phần tử vào loại dữ liệu được trả lại cho khách hàng. Các khách hàng phàn nàn rằng điều này đã phá vỡ việc thực hiện của họ bởi vì nó nghẹn ngào về yếu tố mới mà nó không mong đợi. (chúng tôi đang cung cấp các dịch vụ qua Axis2).Khả năng tương thích ngược và Dịch vụ Web
Với tôi, điều này có vẻ như một thay đổi vô hại mà khách hàng có thể xử lý một cách duyên dáng (tôi đã làm việc với một số khung công tác phi dịch vụ web, nơi thêm thông tin tùy chọn hoàn toàn có thể chấp nhận được). Tôi có thể hiểu nếu chúng tôi đã xóa hoặc đổi tên một số trường có thể gây ra sự cố cho khách hàng.
Về cơ bản, tôi mong đợi wsdl hoạt động như một giao diện. Nếu chúng ta thực hiện một sự thay đổi về cơ bản các kiểu con của giao diện đó, tôi sẽ mong đợi khách hàng vui vẻ bỏ qua các phần tử không liên quan. Đây có phải chỉ là một dịch vụ web ngắn hay có cách tạo thay đổi thụ động cho các dịch vụ để khách hàng mới có thể nhận được dữ liệu bổ sung trong khi khách hàng cũ có thể cập nhật khi rảnh rỗi?
Tôi cho rằng khách hàng có thể giả mạo nó và không sử dụng giao diện SOAP và có thể phân tích phản hồi bằng một số phân tích cú pháp thủ công/biểu thức chính quy (thật ngạc nhiên khi có bao nhiêu người làm điều đó). Tôi nói điều này vì tôi thường xuyên tạo các giao diện SOAP của máy khách và máy chủ trong C#, PHP, Perl và JavaScript trên các hệ thống Unix & Windows (dành cho các ứng dụng web, phía máy chủ và ứng dụng máy khách) và chưa bao giờ gặp phải vấn đề này. trong yêu cầu hoặc phản hồi chưa từng gây ra vấn đề). Tôi sẽ hỏi họ những khách hàng SOAP mà họ đang sử dụng. :-) –