Khác biệt giữa bản sửa đổi của “SOAP”

Nội dung được xóa Nội dung được thêm vào
tránh vi phạm bản quyền
chép trên mạng
Dòng 1:
'''SOAP''' (viết tắt từ tiếng Anh ''Simple Object Access Protocol'') là một chuẩngiao thức do [[W3C]] định nghĩa <ref>{{chú thích web | url = http://www.w3.org/TR/soap/ | tiêu đề = SOAP Specifications | author = | ngày = | ngày truy cập = | nơi xuất bản = W3C | ngôn ngữ = }}</ref>. SOAP còn là giao thức áp dụng [[XML]] để xác định dữ liệu dạng văn bản (plain text) qua [[HTTP]] và [[SMTP]]. [[Web Service]] dùng SOAP trong quá trình truyền tải dữ liệu. SOAP không phụ thuộc ngôn ngữ lập trình hay bất cứ nền tảng nào vì nó dùng XML.
 
Một thông điệp SOAP được chia thành hai phần là header và body. Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP. Khi tạo một dự án Web Service, mặc định Web Visual Develop sẽ tạo phương thức HelloWorld() như sau:
<source lang="CSharp">
public string HelloWorld()
{
return "Hello World";
}
</source>
 
Một HTTP Request sẽ có dạng sau:
<source lang="html4strict">
POST /MathService.asmx/HelloWorld HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length
</source>
 
Đối với SOAP (v1.2)
<source lang="html4strict">
Request:
 
POST /MathService.asmx HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<HelloWorld xmlns="http://tempuri.org/" />
</soap12:Body>
</soap12:Envelope>
<source>
 
Trong phần <soap12:Body> của đoạn SOAP request trên, thẻ <HelloWorld xmlns=”http://tempuri.org/&#8221; /> được dùng để các phần tử con tương ứng với các dữ liệu mà phương thức HelloWorld yêu cầu để làm tham số. Bởi vì phương thức HelloWorld không yêu cầu bất kì tham số nào, nên thẻ này cũng không có bất kì phần tử con nào.
 
<source lang="html4strict">
Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<HelloWorldResponse xmlns="http://tempuri.org/">
<HelloWorldResult>string</HelloWorldResult>
</HelloWorldResponse>
</soap12:Body>
</soap12:Envelope>
 
</source>
 
Phương thức HelloWorld() của WebService trả về dữ liệu có dạng string, và bạn có thể thấy rõ điều này trong thẻ <soap12:Body>.
 
== Tham khảo ==
Hàng 69 ⟶ 13:
* [http://shivasoft.in/blog/java/create-soap-message-using-java/ Create SOAP Message in Java]
 
{{sơ khai}}
{{DEFAULTSORT:Soap}}
[[Thể loại:Tiêu chuẩn của W3C]]