SOAPtrong HTTP

Một phần của tài liệu Công nghệ Web Service và ứng dụng để xây dựng kiến trúc hướng dịch vụ (Trang 37)

Hầu hết dữ liệu truyền trên Internet hiện nay sử dụng giao thức HTTP (HyperText Transfer Protocol).HTTP có mặt ở mọi nơi vì đƣợc hỗ trợ bởi một cơ sở hạ tầng lớn cùng với các máy chủ và trình duyệt đã đƣợc sử dụng một thời gian dài.Ngƣời tạo ra SOAP đã chú ý đến cơ sở hạ tầng này và thiết kế SOAP sao cho mọi thông điệp có thể đƣợc truyền nhƣ một phần của thông điệp HTTP.Điều này là một trong các yếu tố giúp SOAP đƣợc chấp nhận rộng rãi và đạt đƣợc thành công chƣa từng có.

Hình 2. 6: Mô hình hoạt động của SOAP

Các thông điệp SOAP cũng có thể đƣợc truyền bằng cách sử dụng các giao thức khác nhƣ SMTP hay FTP, nhƣng SOAP không chỉ ra chi tiết cách sử dụng những giao thức đó.

Các thông điệp SOAP truyền qua HTTP đƣợc đặt trong phần thân của một yêu cầu hoặc phản hồi HTTP (request/reply).Phần này thƣờng dùng để chứa dữ liệu của

Máy khách SOAP

Chuyển đối thông điệp SOAP sang kiểu dữ liệu Web Service sử

dụng

Chuyển đổi kết quả sang dạng thông điệp

SOAP để gửi Web Service Yêu cầu SS SOAP message TT Trả lời MM Máy chủ SOAP KK Kiểu dữ liệu Web Service sử dụng

biểu mẫu và HTML.HTTP là một giao thức yêu cầu / phản hồi, nghĩa là ngƣời gửi sẽ mong muốn có phản hồi (có thể là báo lỗi hoặc dữ liệu) từ ngƣời nhận.Các yêu cầu của HTTP là điển hình cho các thông điệp mà trình duyệt gửi đến một máy chủ Web để yêu cầu một trang web hay gửi một biểu mẫu.Một yêu cầu cho một trang Web thƣờng đƣợc tạo ra từ một thông điệp GET của HTTP, trong khi việc gửi một dữ liệu của một ―form‖ thƣờng đƣợc thực hiện bằng thông điệp POST.

Hầu hết lƣu lƣợng HTTP là sự kết hợp của các yêu cầu GET của HTTP và các trả lời HTTP.Yêu cầu GET của HTTP xác định trang web đƣợc yêu cầu và có thể bao gồm một vài tham số.Một thông điệp trả lời HTTP trả lại trang web đến ngƣời yêu cầu trong phần thân thông điệp đó.

Hình 2.7:Thông điệp yêu cầu của SOAP

Mặc dù yêu cầu GET của HTTP rất phù hợp cho việc yêu cầu các trang web nhƣng nó không có phần thân chứa dữ liệu và do đó không thể sử dụng để truyền các thông điệp SOAP.Trong khi đó, yêu cầu POST của HTTP có phần thân chứa dữ liệu và rất phù hợp với việc truyền các thông điệp SOAP.Các thông điệp trả lời của HTTP, dù trả lời cho một thông điệp GET hay POST, đều có cùng định dạng và chứa dữ liệu. Web Service dùng SOAP 1.1 với HTTP luôn sử dụng các thông điệp HTTP POST mà

không dùng HTTP GET.

Hình 2.8: Thông điệp hồi đáp của SOAP

Một phần của tài liệu Công nghệ Web Service và ứng dụng để xây dựng kiến trúc hướng dịch vụ (Trang 37)