2011-05-09 46 views
6

khi một công ty muốn phát hành một dịch vụ web, nó phát hành WSDL riêng cho SOAP và riêng biệt cho các dịch vụ web dựa trên REST hoặc chúng được hợp nhất trong cùng một WSDL? WSDL có thể chỉ đại diện cho các dịch vụ web REST dựa trên JSON (không phải XML) không?WSDL cho SOAP và WSDL cho REST và REST dựa trên JSON

Giả sử khách hàng dịch vụ web dựa trên Java.

Nếu SOAP và REST được hợp nhất trong cùng một WSDL, thì wsimport có tạo ra các lớp riêng biệt (để liên kết XML với các đối tượng Java) cho SOAP và tách riêng cho REST không?

Trả lời

6

Bạn cần WSDL 2.0 (hoặc WADL) để mô tả dịch vụ REST. Hỗ trợ cho WSDL 2.0 hiện rất hạn chế và wsimport không hỗ trợ nó. Tôi không phải là nhà phát triển Java nhưng tôi nghĩ rằng wsimport chỉ dành cho các dịch vụ SOAP (JAX-WS và nó cũng không hỗ trợ WSDL 2.0).

Chỉnh sửa:

Kiểm tra this extension. Nó sẽ cho phép bạn trưng ra dịch vụ JAX-WS với mã hóa JSON. Nó cũng sẽ hiển thị "JavaScript proxy" để gọi dịch vụ JSON. Để trả lời chính xác hơn câu hỏi của bạn - tôi không nghĩ rằng bạn có thể mô tả dịch vụ REST mà không có WSDL 2.0 hoặc WADL. Vì vậy, bạn không thể hợp nhất dịch vụ SOAP và REST thành WSDL 1.1 được hỗ trợ bởi hầu hết các ngăn xếp. Để tham khảo thêm về mô tả kiểm tra dịch vụ JSON this question.

+0

Cảm ơn bạn đã cung cấp thông tin nhưng nó không trả lời hầu hết những gì tôi yêu cầu trong câu hỏi của tôi. – ace

2

thể một WSDL chỉ đại diện REST của web dịch vụ dựa trên JSON (không XML)

WSDL 2 có thể mô tả XML bằng cách xác định các loại XML sử dụng một sơ đồ. Xem this introduction on WSDL 2 for REST.

Mặc dù, TBH Tôi chưa bao giờ viết WSDL cho REST trước đây, tôi chỉ xuất bản các URL và lược đồ cho các loại.

1

Vì công cụ chưa hoàn toàn có, tôi nghi ngờ nhiều công cụ đang sử dụng các kết buộc SOAP và HTTP trong một WSDL đơn lẻ. Mặc dù cả hai có thể được biểu diễn trong một WSDL 2.0, và cùng lúc, vì hầu hết mọi người dựa vào công cụ để quản lý các WSDL của họ ngày nay (và phần còn lại của ngăn xếp WS), họ có thể không bận tâm và chỉ để lại WSDL của họ.

Ngoài ra, hầu hết người REST đang xây dựng khách hàng của họ bằng tay, thay vì dựa vào công cụ và WSDL, nên những người này hiện không "thiếu" công cụ và hỗ trợ cho việc này.

Khi các công cụ bắt kịp trên cả máy chủ và phía máy khách, thì có khả năng sẽ có nhiều sự chấp nhận trong thực tế cho các ràng buộc dịch vụ HTTP trong WSDL 2.0. Cho dù thành ngữ sẽ được để conflate các thông số kỹ thuật trong một WSDL duy nhất hay không, vẫn còn để được nhìn thấy.

Nếu họ muốn lưu trữ chúng trên cùng một điểm kết thúc, thì chúng có khả năng sẽ.

+0

năm 2017, tình trạng này có thay đổi không? –

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