SOAP - протокол имени мыльной оперы

Сначала выясним что такое протокол SOAP (Simple Object Access Protocol). Это протокол обмена сообщениями в вычислительной среде, созданный в 1998 году группой программистов во главе с Дейвом Винером. Консорциум W3C поддерживает протокол SOAP. Окончательный вариант представленного стандарта - SOAP 1.2.

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Освой терминал, службы и администрирование Linux: 2 месяца онлайн, практика на своём сервере и сертификат. Открой программу.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе

Simple Object Access Protocol - протокол доступности объектов. Это называлось протоколом версии SOAP 1.1. Данное наименование отражает его значимость - обращение к различным методам для удаленных объектов. В настоящее время имя протокола SOAP сильно поменялось, и поэтому вы можете услышать другое имя от разработчиков.

SOAP не может отличить вызовы от процедур и ответов, и его возможности включают определение форматов сообщений в виде конкретного XML-документа. Сообщение может содержать информацию о вызовах процедур, ответах, запросах и так далее.

Разница между SOAP запросом и ответом

Наиболее важной частью для технологии интернет услуг является вышеописанная технология. Данная технология позволяет производить обмен данными между различными сетями. Если же говорить другими словами, то он допускает передачу информации из различных интернет-сервисов (за счет своего рода инкапсуляции). Представленное действие обеспечивает эффективную связь по сети между получателем и отправителем XML документов, путем поддержания общего протокола передачи информации.

SOAP является базовой моделью одностороннего подключения, что позволяет обеспечить согласованный обмен сообщениями между получателем и отправителем. Технология SOAP включает в себя специальное соглашение, которое предназначено для преобразования односторонних сообщений работая по принципу "запрос-ответ", а также возможность определить передачу всего документа XML.


Общая структура SOAP сообщения

Общая структура SOAP сообщения

Сообщение SOAP - это документ XML, информация которого складывается из трех основных элементов: конверта, заголовка и тела.


Обработка ошибок в SOAP-сообщениях

Если сервер SOAP обнаруживает ошибку при обработке входящего сообщения SOAP (Simple Object Access Protocol), обработка останавливается, и клиенту отправляется сообщение SOAP с элементом ошибки и сообщением об ошибке.


Типы ошибок:

Список кодов ошибок постоянно меняется и расширяется. Версия 1.1 определяет следующие типы ошибок:

  • VersionMismatch - Неверное пространство имен (неверная версия или неверное имя).
  • MustUnderstand - Блок заголовка, помеченный атрибутом mustUnderstand со значением 1, не соответствует его синтаксису, определенному в схеме документа.
  • Client - XML-документ, содержащий сообщение, создан неправильно и поэтому сервер не способен его подвергнуть обработке. Клиент обязан изменить сообщение.
  • Server - Сервер не способен подвергнуть обработке правильно зарегистрированное сообщение по внутренним причинам.

Типы ошибок в версии 1.2:
  • VersionMismatch - Неправильное пространство имен (неверная версия или ее имя были введены неправильно, или в сообщении было обнаружено имя элемента XML, не определенное в этом пространстве имен). Сервер записывает элемент в заголовок ответа, который отображает вложенные элементы с допустимыми именами пространства имен, которые понимает сервер.
  • MustUnderstand - Блок заголовка, помеченный атрибутом mustUnderstand со значением true, не отвечает своему синтаксису, определенному в схеме документа.
  • Data Encoding Unknown - В сообщении встречаются непонятные данные, возможно, они записаны в неизвестной кодировке.
  • Sender - Документ XML, содержащий сообщение, искажен, и сервер не может его обработать. Клиент должен изменить сообщение.
  • Receiver - Сервер не может обработать правильно записанное сообщение по своим внутренним причинам, например, отсутствует необходимый анализатор XML.

Сервер может добавить некоторые типы ошибок к представленным выше типам ошибок. Обычно они подробны стандартным, и сообщения о них появляются в элементах, как показано выше. Вкратце - вот что из себя представляет этот протокол.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Освой терминал, службы и администрирование Linux: 2 месяца онлайн, практика на своём сервере и сертификат. Открой программу.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Онлайн-курс по кибербезопасности
Научись защищать сети и данные и разбирать атаки: 2 месяца онлайн, практика в лабах и сертификат. Открой программу и тарифы.
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Научись защищать сеть: firewall, VPN, сегментация и мониторинг. 2 месяца онлайн, практика и сертификат. Смотри программу курса.
Подробнее о курсе
Еще по теме:
Разбираем 7 ключевых принципов Linux, которые помогают новичкам перестать бороться с системой и начать понимать, как она на самом деле работает.
Узнайте про 5 полезных Linux - команд: tldr, timeout, ncdu, fd и trash, которые упрощают жизнь при работе в CLI
Что позволяет называть один API как REST API, а другой нет? Сейчас попробуем разложить все по полочкам, чтобы ты на собесе жидко не споткнулся о такую, казалось бы, простую тему.
Узнайте, как работают сетевые порты в Linux, какие бывают типы портов, и как управлять ими с помощью команд netstat, ss, ufw и iptables
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59