2 370 подписчиков на нашем канале!

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

“ут должна быть шутка про мыло. Ќо мы ее не придумали 😬

ћерион Ќетворкс

3 минуты чтени€

—начала вы€сним что такое протокол SOAP (Simple Object Access Protocol). Ёто протокол обмена сообщени€ми в вычислительной среде, созданный в 1998 году группой программистов во главе с ƒейвом ¬инером.  онсорциум W3C поддерживает протокол SOAP. ќкончательный вариант представленного стандарта - SOAP 1.2.

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.

—ервер может добавить некоторые типы ошибок к представленным выше типам ошибок. ќбычно они подробны стандартным, и сообщени€ о них по€вл€ютс€ в элементах, как показано выше. ¬кратце - вот что из себ€ представл€ет этот протокол.


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: