WSDL и проверки типов - PullRequest
0 голосов
/ 20 июня 2011

Поскольку в WSDL указан раздел для определений типов, мне интересно, как применяются определения этого типа, чтобы обмен сообщениями не удался, когда содержимое сообщений не соответствует запрошенным типам.

В зависимости от того, чтоЯ прочитал, что веб-сервисы могут существовать без WSDL (просто выполните быстрый поиск по запросу «веб-сервисы без wsdl»).Это не идеальная ситуация, но это может случиться, и веб-сервис все еще можно использовать, пока потребитель знает, как структурировано сообщение.Если это так, то типы, определенные в WSDL, просто информативны, не так ли?Кажется, что нет автоматического механизма, связывающего определения типов WSDL с фактическими проверками типов.Кажется, в документации WSDL тоже ничего не сказано по этому поводу.

Как обычно выполняется проверка типа в веб-службах?Несет ли сервер ответственность за предоставление такой проверки и возвращает сообщение об ошибке, если что-то идет не так?Какова ответственность клиента, когда дело доходит до проверки типа?

1 Ответ

1 голос
/ 20 июня 2011

WSDL описывает сервис, а часть описания сервиса - это определение данных, которыми обмениваются клиент и сервис. Данные описываются схемой XML (XSD), которая определяет точный формат каждого сообщения (за исключением некоторых редких случаев использования, например, используется определение xsd:any). Схемы XML являются стандартным способом описания документов XML, и они используются для проверки этих документов - общие анализаторы XML позволяют проверять документ XML с указанной схемой.

Вы можете создать веб-сервис без WSDL - на самом деле WSDL используется в основном для сервисов SOAP, но даже сервисы SOAP могут быть определены без WSDL, но они все равно могут использовать только четко определенные данные, которые могут быть описаны схемами XSD. Другие типы веб-служб, такие как служба XML или служба REST (передача XML), также могут обмениваться данными, описанными XSD.

Это зависит от потребителя, если проверка используется. Проверка документов XML может занимать много времени и может снизить пропускную способность системы. Способ использования проверки зависит от API - некоторые API или инструменты предоставляют это «из коробки», другие требуют ручного перехвата полученного сообщения и запуска проверки с помощью некоторого доступного анализатора XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...