SOAP - Phong bì

Phong bì SOAP chỉ ra điểm bắt đầu và kết thúc của tin nhắn để người nhận biết khi nào toàn bộ tin nhắn đã được nhận. Phong bì SOAP giải quyết vấn đề biết khi nào bạn nhận xong một tin nhắn và sẵn sàng xử lý nó. Do đó, phong bì SOAP về cơ bản là một cơ chế đóng gói.

Điểm cần lưu ý

  • Mỗi thư SOAP đều có phần tử Envelope gốc.

  • Phong bì là một phần bắt buộc của tin nhắn SOAP.

  • Mỗi phần tử Envelope phải chứa chính xác một phần tử Body.

  • Nếu một Envelope chứa phần tử Header, nó không được chứa nhiều hơn một phần tử và nó phải xuất hiện dưới dạng phần tử con đầu tiên của Envelope, trước phần Body.

  • Phong bì thay đổi khi các phiên bản SOAP thay đổi.

  • Phong bì SOAP được chỉ định bằng cách sử dụng tiền tố không gian tên ENV và phần tử Envelope.

  • Mã hóa SOAP tùy chọn cũng được chỉ định bằng cách sử dụng tên không gian tên và phần tử encodingStyle tùy chọn , cũng có thể trỏ đến một kiểu mã hóa khác với kiểu SOAP.

  • Bộ xử lý SOAP tuân thủ v1.1 tạo ra lỗi khi nhận được thông báo có chứa vùng tên phong bì v1.2.

  • Bộ xử lý SOAP tuân thủ v1.2 tạo ra lỗi VersionMismatch nếu nó nhận được thông báo không bao gồm không gian tên phong bì v1.2.

Thông báo SOAP tuân thủ v1.2

Dưới đây là một ví dụ về thông báo SOAP tuân thủ v1.2.

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

SOAP với HTTP POST

Ví dụ sau minh họa việc sử dụng thông báo SOAP trong thao tác HTTP POST, thao tác này sẽ gửi thông báo đến máy chủ. Nó hiển thị các không gian tên cho định nghĩa giản đồ phong bì và cho định nghĩa lược đồ của các quy tắc mã hóa. Các OrderEntry tham khảo trong tiêu đề HTTP là tên của chương trình được gọi tại trang web tutorialspoint.com.

POST /OrderEntry HTTP/1.1
Host: www.tutorialspoint.com
Content-Type: application/soap;  charset="utf-8"
Content-Length: nnnn

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

NOTE - Liên kết HTTP chỉ định vị trí của dịch vụ.