SOAP Envelope: Phần Envelope là node gốc của gói tin SOAP dưới dạng tài liệu XML. SOAP Envelope có 2 thành phần sau:
o SOAP Header: Phần Header thường là nơi được dùng để thêm các thông tin bổ sung phục vụ cho mục đích riêng của chương trình. Các thông tin thường được thêm vào phần Header là authentication, authorization, quản lý transaction… Phần Header không bắt buộc phải có trong mọi gói tin SOAP.
o SOAP body: Phần Body chứa các thông tin về lời gọi hàm, ví dụ như tên hàm cần gọi, các tham số đầu vào, giá trị trả về … để phục vụ cho việc gọi hàm từ xa. Ngoài ra còn có trường lỗi được dùng để gửi các web service exception.
b. Web Services Description Language (WSDL)
Khi chúng ta đã xây dựng hoàn thành WebService cần phải cung cấp tài liệu mô tả để các nhà phát triển client có thể sử dụng được WebService trên. Tài liệu mô tả WebService cần mô tả được vị trí WebService, các hàm nó cung cấp, tham số kèm theo…
Tài liệu WSDL là một tài liệu thỏa mãn các nhu cầu trên. WSDL (WebService Definition Language) là một ngôn ngữ dựa trên cú pháp XML dùng để định nghĩa một WebService. Nói cách khác, một file WSDL như một người trung gian đứng giữa WebService và ứng dụng WebService client. Trong tài liệu WSDL, chúng ta sẽ định nghĩa các phương thức được WebService hỗ trợ, các kiểu dữ liệu được xử dụng trong các phương thức cùng các thông điệp đượ trao đổi giữa client và server ứng với mỗi phương thức. Chúng ta chỉ phải định nghĩa các kiểu dữ liệu phức tạp như mảng, các lớp được khai báo thêm trong chương trình, mảng các lớp … còn các kiểu dữ liệu cơ bản như int, string, float … đã được hỗ trợ sẵn. Sau đó, chúng ta gộp chung các định nghĩa này kết hợp với các giao thức mạng bên dưới để hình thành một end-point.
Hình 2-7: Mô tả End-point