Nhảy tới nội dung
Phiên bản: 1.0.1

Tổng quan

SOAP (viết tắt của Simple Object Access Protocol) là một giao thức truyền thông điệp dựa trên XML dùng để trao đổi thông điệp giữa các hệ thống qua mạng, thường là HTTP hoặc TCP.

soap.png

Các thành phần chính của SOAP:

  • XML Message Format: Tất cả các thông điệp SOAP đều là tài liệu XML
  • Envelope: Mỗi thông điệp SOAP được bọc trong một phần tử Envelope. Đây là phần tử gốc của tài liệu XML và đóng vai trò là một chứa cho thông điệp.
  • Header (Tùy chọn): Trong Envelope, có một phần tử Header tùy chọn. Phần này mang thông tin bổ sung không phải là một phần trực tiếp của tải trọng thông điệp chính. 
  • Body (Bắt buộc): Phần tử Body cũng nằm trong Envelope và là bắt buộc. Nó chứa nội dung cụ thể của ứng dụng — dữ liệu hoặc lệnh được gửi trong yêu cầu hoặc kết quả được trả về trong phản hồi.
  • Fault (Có điều kiện): Trong Body, một phần tử Fault chỉ có thể xuất hiện nếu có lỗi xảy ra trong quá trình xử lý tin nhắn. Nó cung cấp thông tin chuẩn về lỗi, bao gồm mã lỗi, mô tả và thông tin chi tiết về nơi xảy ra lỗi.

WSDL (Web Services Description Language) là một thành phần cốt lõi trong giao thức SOAP, là một ngôn ngữ XML được dùng để mô tả chi tiết một Web Service bao gồm các dịch vụ, phương thức (operations), kiểu dữ liệu, định dạng message và cách truy cập dịch vụ.

SOAP Project trong hệ thống Service Visualization là một dự án tích hợp các dịch vụ web (Web Services) hoạt động theo giao thức SOAP (Simple Object Access Protocol), được định nghĩa và mô tả bằng tệp WSDL (Web Services Description Language).

SOAP Project bao gồm:

  • Các endpoint theo cấu trúc SOAP : Các API giả lập được định nghĩa bằng tệp Wsdl, được cấu hình trả về dữ liệu phản hồi.
  • Schemas: Định nghĩa cấu trúc dữ liệu JSON để dùng cho request và response.
  • Document: Tài liệu mô tả dự án và luồng xử lý các API trong dự án.
  • Statistic: Lịch sử các lần gọi đến các API trong dự án.

Mục tiêu của SOAP Project:

  • Hỗ trợ giao tiếp với các hệ thống bên ngoài hoặc nội bộ sử dụng chuấn SOAP.
  • Cho phép tự động hóa kịch bản kiểm thử, mô phỏng hoặc xử lý nghiệp vụ qua các dịch vụ định nghĩa sẵn.
  • Dễ dàng mô phỏng các lỗi hoặc trường hợp đặc biệt không dễ tạo ra với API thật.