2008-09-24 35 views

Trả lời

39
  • Bởi vì nó cồng kềnh
  • Vì JSON là natively dễ hiểu bởi JavaScript
  • Vì XML là không nhanh để thao tác với JavaScript.
+1

Đồng ý trên cả ba điểm. XML là bloated và một thách thức để xử lý với js trong khi JSON là ngắn gọn và bản địa. – Prestaul

+0

Hmmm ... tìm thấy điều này trên một tìm kiếm về cách cho phép người dùng của tôi nhập thông qua trình duyệt của họ, nơi quyền truy cập duy nhất là thông qua giao diện SOAP. Tôi ra khỏi deptyh của tôi ở đây - bất kỳ ý kiến? – cvsdave

+0

Vâng, bạn có thể thử sử dụng bất kỳ việc triển khai JS nào của giao thức SOAP, như http://www.codeproject.com/KB/ajax/JavaScriptSOAPClient.aspx và xây dựng một giao diện người dùng xung quanh trong HTML để lấy đầu vào từ người dùng. Chúc may mắn. – gizmo

17

Vì SOAP phát minh rất nhiều bánh xe HTTP trong nhiệm vụ tìm kiếm giao thức độc lập. Điểm số là gì nếu bạn biết bạn sẽ phân phối phản hồi qua HTTP dù sao (vì ứng dụng khách của bạn là trình duyệt web)?

CẬP NHẬT: Tôi đề nghị gizmo (ngụ ý) thứ hai của JSON.

3

Có thể thực hiện được. Chỉ cần nhớ rằng SOAP không phải là cách nhanh nhất để trao đổi thông tin vì có một chi phí lớn (các XML lớn phải được gửi qua lại) - đó có thể là lý do tại sao bạn không thấy nó thường sử dụng

4

Nếu trình duyệt web là khách hàng duy nhất của bạn sau đó tôi sẽ phải đồng ý rằng SOAP là quá mức cần thiết.

Tuy nhiên, nếu bạn sắp có nhiều loại máy khách kết thúc trước khi chạy trên các nền tảng khác nhau thì SOAP có thể phù hợp. Phần tốt đẹp về SOAP là có rất nhiều công cụ ngoài đó sẽ tạo ra mã cho bạn để xử lý việc gửi, nhận và phân tích cú pháp SOAP dựa trên tệp WSDL. Ví dụ, nếu bạn muốn phát triển một khách hàng đầu cuối C++ thì tất cả những gì bạn cần là tệp WSDL và các công cụ của Microsoft sẽ tạo tất cả mã C++ để tạo yêu cầu SOAP dựa trên cấu trúc dữ liệu, gửi yêu cầu, nhận phản hồi và phân tích cú pháp phản hồi thành cấu trúc dữ liệu trả về.

Có các công cụ để thực hiện việc này cả ở phía máy khách và phía máy chủ.

+0

Tôi đồng ý rằng nếu bạn cần trao đổi dữ liệu giữa các nền tảng SOAP là một phương pháp hợp lý. Tuy nhiên, nếu bạn có dữ liệu có sẵn thông qua một dịch vụ web SOAP mà bạn muốn truy cập bằng js thì nó rất đáng để gửi dữ liệu đến trang bằng JSON. Không phân tích cú pháp nó trên máy khách. – Prestaul

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