6 Câu hỏi: Sự khác biệt giữa phong cách Tài liệu và giao tiếp kiểu RPC là gì?

câu hỏi được tạo ra tại Thu, Apr 28, 2016 12:00 AM

Ai đó có thể giải thích cho tôi về sự khác biệt giữa dịch vụ web kiểu Tài liệu và RPC không? Ngoài JAX-RPC, phiên bản tiếp theo là JAX-WS, hỗ trợ cả kiểu Tài liệu và RPC. Tôi cũng hiểu dịch vụ web kiểu tài liệu dành cho giao tiếp không đồng bộ nơi khách hàng sẽ không chặn cho đến khi nhận được phản hồi.

Dù bằng cách nào, sử dụng JAX-WS Tôi hiện đang chú thích dịch vụ với @Webservice , tạo WSDL và từ WSDL đó, tôi tạo ra các tạo phẩm phía máy khách.

Sau khi nhận được các tạo phẩm, trong cả hai kiểu, tôi gọi phương thức trên cổng. Bây giờ, điều này không khác nhau về kiểu RPC và kiểu Tài liệu. Vậy sự khác biệt là gì và sự khác biệt đó có thể nhìn thấy ở đâu?

Tương tự, SOAP trên HTTP khác với XML so với HTTP như thế nào? Sau tất cả SOAP cũng là tài liệu XML với không gian tên SOAP.

    
86
  1. 2012-01-30 10: 36: 22Z
6 Câu trả lời                              6                         
  

Một số người có thể giải thích cho tôi sự khác biệt giữa kiểu Tài liệu và   Dịch vụ web kiểu RPC?

Có hai mô hình kiểu giao tiếp được sử dụng để dịch ràng buộc WSDL sang phần thân thông báo SOAP. Họ đang:   Tài liệu & RPC

Ưu điểm của khi sử dụng mô hình kiểu Tài liệu là bạn có thể cấu trúc phần thân SOAP theo bất kỳ cách nào bạn muốn miễn là nội dung của phần thân thông báo SOAP là bất kỳ trường hợp XML tùy ý nào. Kiểu Tài liệu cũng được gọi là Kiểu hướng thông điệp .

Tuy nhiên, với kiểu máy RPC , cấu trúc của thân yêu cầu SOAP phải chứa cả tên hoạt động và bộ tham số phương thức. Mô hình kiểu RPC giả định một cấu trúc cụ thể cho XML có trong phần thân thông báo.

Hơn nữa, có hai mô hình sử dụng mã hóa được sử dụng để dịch ràng buộc WSDL thành thông báo SOAP. Chúng là: nghĩa đen và được mã hóa

Khi sử dụng mô hình sử dụng theo nghĩa đen , nội dung cơ thể phải tuân theo cấu trúc lược đồ XML (XSD) do người dùng định nghĩa . Ưu điểm là hai lần. Đối với một, bạn có thể xác thực nội dung thông báo bằng lược đồ XML do người dùng định nghĩa, hơn nữa, bạn cũng có thể chuyển đổi thông báo bằng ngôn ngữ chuyển đổi như XSLT.

Với (SOAP) mô hình sử dụng được mã hóa , thông báo phải sử dụng các kiểu dữ liệu XSD, nhưng cấu trúc của thông báo không cần phải tuân theo bất kỳ lược đồ XML nào do người dùng xác định. Điều này gây khó khăn cho việc xác thực nội dung thư hoặc sử dụng các chuyển đổi dựa trên XSLT trên thân thư.

Việc kết hợp các mô hình sử dụng và kiểu khác nhau cung cấp cho chúng tôi bốn cách khác nhau để dịch ràng buộc WSDL thành thông báo SOAP.

 49 310

Tôi khuyên bạn nên đọc bài viết này có tên Tôi nên sử dụng phong cách nào của WSDL? của Russell Butek, người có một cuộc thảo luận thú vị về phong cách khác nhau và sử dụng các mô hình để dịch ràng buộc WSDL thành thông điệp SOAP, điểm mạnh và điểm yếu tương đối của chúng.

  

Sau khi nhận được cổ vật, trong cả hai phong cách giao tiếp, tôi   gọi phương thức trên cổng. Bây giờ, điều này không khác nhau trong phong cách RPC   và phong cách Tài liệu. Vậy sự khác biệt là gì và ở đâu   sự khác biệt có thể nhìn thấy?

Nơi bạn có thể tìm thấy sự khác biệt là "TRẢ LỜI"!

Kiểu RPC:

 49 310

Thông báo SOAP cho hoạt động thứ hai sẽ có đầu ra trống và sẽ giống như:

Phản hồi kiểu RPC:

 49 310

Kiểu tài liệu:

 49 310

Nếu chúng tôi chạy ứng dụng khách cho SEI ở trên, đầu ra là:

123 [123, 456]

Kết quả này cho thấy các phần tử ArrayList đang được trao đổi giữa dịch vụ web và máy khách. Thay đổi này chỉ được thực hiện bằng cách thay đổi thuộc tính kiểu của chú thích SOAPBinding. Thông báo SOAP cho phương thức thứ hai với kiểu dữ liệu i phong phú hơns hiển thị bên dưới để tham khảo:

Phản hồi kiểu tài liệu:

 49 310

Kết luận

  • Như bạn đã nhận thấy trong hai thông báo phản hồi SOAP rằng có thể xác thực thông báo phản hồi SOAP trong trường hợp kiểu DOCUMENT nhưng không phải trong các dịch vụ web kiểu RPC.
  • Nhược điểm cơ bản của việc sử dụng kiểu RPC là nó không hỗ trợ các kiểu dữ liệu phong phú hơn và sử dụng kiểu Tài liệu là nó mang lại một số phức tạp dưới dạng XSD để xác định người giàu hơn loại dữ liệu.
  • Việc lựa chọn sử dụng một trong số này phụ thuộc vào yêu cầu hoạt động /phương pháp và các khách hàng mong đợi.
  

Tương tự, SOAP trên HTTP khác với XML so với HTTP như thế nào? Sau   tất cả SOAP cũng là tài liệu XML với không gian tên SOAP. Vậy cái gì   sự khác biệt ở đây?

Tại sao chúng ta cần một tiêu chuẩn như SOAP? Bằng cách trao đổi tài liệu XML qua HTTP, hai chương trình có thể trao đổi thông tin có cấu trúc, phong phú mà không cần đưa ra một tiêu chuẩn bổ sung như SOAP để mô tả rõ ràng định dạng phong bì thư và cách mã hóa nội dung có cấu trúc.

SOAP cung cấp một tiêu chuẩn để các nhà phát triển không phải phát minh ra định dạng thông báo XML tùy chỉnh cho mọi dịch vụ họ muốn cung cấp. Với chữ ký của phương thức dịch vụ được gọi, đặc tả SOAP quy định một định dạng thông báo XML rõ ràng. Bất kỳ nhà phát triển nào quen thuộc với đặc tả SOAP, làm việc trong bất kỳ ngôn ngữ lập trình nào, đều có thể tạo một yêu cầu XML SOAP chính xác cho một dịch vụ cụ thể và hiểu phản hồi từ dịch vụ bằng cách lấy các chi tiết dịch vụ sau.

  • Tên dịch vụ
  • Tên phương thức được dịch vụ triển khai
  • Chữ ký phương thức của từng phương thức
  • Địa chỉ triển khai dịch vụ (được biểu thị dưới dạng URI)

Sử dụng SOAP hợp lý hóa quy trình hiển thị thành phần phần mềm hiện có dưới dạng dịch vụ Web do chữ ký phương thức của dịch vụ xác định cấu trúc tài liệu XML được sử dụng cho cả yêu cầu và phản hồi.

    
90
2015/02/2016 17: 45: 51Z

Một dịch vụ web kiểu RPC sử dụng tên của phương thức và các tham số của nó để tạo các cấu trúc XML đại diện cho ngăn xếp cuộc gọi Phương thức. Kiểu tài liệu biểu thị phần thân SOAP chứa tài liệu XML có thể được xác thực đối với tài liệu lược đồ XML được xác định trước.

Một điểm khởi đầu tốt: Liên kết SOAP: Sự khác biệt giữa Dịch vụ web kiểu tài liệu và RPC

    
23
2016/03/07 21: 41: 19Z

Trong định nghĩa WSDL, các ràng buộc chứa các hoạt động, ở đây có kiểu cho mỗi hoạt động.

  • Lợi thế :
    • Sử dụng kiểu Tài liệu này, chúng tôi có thể xác thực các thông báo SOAP dựa trên lược đồ được xác định trước. Nó hỗ trợ kiểu dữ liệu xml và các mẫu.
    • ghép lỏng lẻo.
  • Nhược điểm : Hơi khó hiểu một chút.

Trong phần tử loại WSDL trông như sau:

 49 310

Lược đồ đang nhập từ tham chiếu bên ngoài.

RPC : Trong tệp WSDL, nó không tạo lược đồ kiểu, trong các phần tử thông báo, nó xác định các thuộc tính tên và kiểu tạo cho khớp nối chặt chẽ.

 49 310
  • Ưu điểm : Dễ hiểu.
  • Nhược điểm :
    • chúng tôi không thể xác thực các tin nhắn SOAP.
    • liên kết chặt chẽ

RPC: Không có loại nào trong WSDL
Tài liệu: Phần loại sẽ có sẵn trong WSDL

    
17
2018-04-17 13: 05: 25Z
  1. Chỉ cần lặp lại những gì có trong tài liệu tham khảo. Cái nàyxplanation không giúp tôi hiểu được sự khác biệt.
    2015-03-20 11: 52: 18Z
  2. điều này chắc chắn không phải từ một tài liệu tham khảo hoặc tài liệu - nó chứa đầy lỗi ngữ pháp
    2016/02/03 13: 13: 17Z

Kịch bản chính trong đó kiểu JAX-WS RPC Tài liệu được sử dụng như sau:

  • Mẫu Cuộc gọi thủ tục từ xa (RPC) được sử dụng khi người tiêu dùng xem dịch vụ web dưới dạng một ứng dụng hoặc thành phần logic duy nhất có dữ liệu được đóng gói. Các thông báo yêu cầu và phản hồi ánh xạ trực tiếp đến các tham số đầu vào và đầu ra của lệnh gọi thủ tục.

    Ví dụ về loại này, mẫu RPC có thể bao gồm dịch vụ thanh toán hoặc dịch vụ báo giá chứng khoán.

  • Mẫu dựa trên tài liệu được sử dụng trong các tình huống mà người tiêu dùng xem dịch vụ web là một quy trình kinh doanh dài hơn trong đó tài liệu yêu cầu thể hiện một đơn vị thông tin đầy đủ. Loại dịch vụ web này có thể liên quan đến tương tác của con người đối với ví dụ như với tài liệu yêu cầu ứng dụng tín dụng với tài liệu phản hồi có chứa giá thầu từ các tổ chức cho vay. Bởi vì các quy trình kinh doanh đang chạy lâu hơn có thể không thể trả lại tài liệu được yêu cầu ngay lập tức, mẫu dựa trên tài liệu thường được tìm thấy nhiều hơn trong các kiến ​​trúc truyền thông không đồng bộ. Biến thể Tài liệu /nghĩa đen của SOAP được sử dụng để triển khai mẫu dịch vụ web dựa trên tài liệu.

7
2014-10-27 17: 27: 25Z

Tôi nghĩ những gì bạn đang hỏi là sự khác biệt giữa các dịch vụ web SOAP theo nghĩa đen, tài liệu văn bản và tài liệu được gói.

Lưu ý rằng các dịch vụ web Tài liệu được phân định thành chữ và được bao bọc và chúng khác nhau - một trong những khác biệt chính là dịch vụ sau tuân thủ BP 1.1 còn dịch vụ trước thì không.

Ngoài ra, trong Tài liệu nghĩa đen, thao tác được gọi không được chỉ định theo tên của nó trong khi trong Wrapping, nó là. Điều này, tôi nghĩ, là một sự khác biệt đáng kể về mặt dễ dàng tìm ra tên hoạt động mà yêu cầu dành cho.

Xét về nghĩa đen của RPC so với Tài liệu được bao bọc, yêu cầu Gói tài liệu có thể dễ dàng được xem xét /xác thực đối với lược đồ trong WSDL - một lợi thế lớn.

Tôi sẽ đề xuất sử dụng Tài liệu được đóng gói làm loại lựa chọn dịch vụ web do các ưu điểm của nó.

SOAP trên HTTP là giao thức SOAP được liên kết với HTTP với tư cách là nhà cung cấp dịch vụ. SOAP cũng có thể qua SMTP hoặc XXX. SOAP cung cấp cách tương tác giữa các thực thể (ví dụ: máy khách và máy chủ) và cả hai thực thể có thể sắp xếp các đối số hoạt động /trả về giá trị theo ngữ nghĩa của giao thức.

Nếu bạn đang sử dụng XML qua HTTP (và bạn có thể), thì đơn giản được hiểu là tải trọng XML theo yêu cầu /phản hồi HTTP. Bạn sẽ cần cung cấp khuôn khổ cho nguyên soái /nguyên soái, xử lý lỗi, v.v.

Một hướng dẫn chi tiết với các ví dụ về WSDL và mã tập trung vào Java: SOAP và JAX -WS, RPC so với dịch vụ web tài liệu

    
3
2016/03/07 21: 45: 27Z

Tài liệu
 Thông điệp kiểu tài liệu có thể được xác nhận đối với lược đồ được xác định trước.  Trong kiểu tài liệu, thông báo SOAP được gửi dưới dạng một tài liệu.  Ví dụ về lược đồ:

 49 310

Ví dụ về thông báo thân xà phòng kiểu tài liệu

 49 310

Thông báo kiểu tài liệu được ghép lỏng lẻo.

RPC     Các thông báo kiểu RPC sử dụng tên phương thức và tham số để tạo cấu trúc XML.     thông điệp rất khó được xác nhận đối với lược đồ.     Theo kiểu RPC, thông báo SOAP được gửi bao nhiêu phần tử.

 49 310

Ở đây, mỗi tham số được chỉ định riêng biệt, Thông báo kiểu RPC được liên kết chặt chẽ, thường là tĩnh, yêu cầu thay đổi đối với máy khách khi chữ ký phương thức thay đổi Kiểu rpc được giới hạn ở các loại XSD rất đơn giảnchẳng hạn như Chuỗi và Số nguyên và WSDL kết quả thậm chí sẽ không có phần loại để xác định và ràng buộc các tham số

Nghĩa đen Theo phong cách mặc định. Dữ liệu được tuần tự hóa theo lược đồ, loại dữ liệu không được chỉ định trong thông báo nhưng tham chiếu đến lược đồ (không gian tên) được sử dụng để tạo thông điệp xà phòng.

 49 310

Được mã hóa Kiểu dữ liệu được chỉ định trong mỗi tham số

 49 310

Lược đồ miễn phí

    
1
2019-06-10 14: 08: 59Z
Document/literal
Document/encoded
RPC/literal
RPC/encoded
nguồn đặt đây