XML Web-службы в Microsoft SQL Server 2005 - Описание SOAP-сообщений

ОГЛАВЛЕНИЕ

 

Описание SOAP-сообщений

Если вы не любите копаться в деталях, не признаете SOAP и планируете писать клиентские программы только с помощью Visual Studio .NET, которая скрывает используемые при обмене с сервером форматы путем генерации proxy-класса, этот раздел не для вас. В нем мы будем рассматривать структуру SOAP-запросов и SOAP-ответов, допустимые заголовки и содержание wsdl-документа. Так как многое в Yukon (по крайней мере, в данной версии) в области форматов сообщений было взято без каких-либо серьезных изменений из пакета SQLXML, советую прежде ознакомиться с соответствующей документацией.

Структура сообщений

Надо сказать, что описания входных и выходных сообщений в виде XML Schema были существенно переработаны с точки зрения увеличения строгости. Так, например, если в SQLXML присутствовало всего три схемы в wsdl-документе, то в Yukon их число возросло до девяти. Естественно, при этом wsdl-документ стал куда более громоздким и сложным для восприятия. При описании форматов сообщений я буду использовать общепринятую систему квалификаторов множеств узлов, где: + — один и более, * — нуль и более, ? — нуль или один, если ничего не указано — ровно один.

Заголовки

Любое SOAP-сообщение может иметь заголовки. Заголовки — это элементы в разделе SOAP: Header SOAP-сообщения. Заголовки различных типов описывают аспекты SOAP-сообщения, т.е. информационные элементы, которые напрямую не относятся к основному информационному содержанию сообщения. Заголовки обрабатываются независимо от сообщения, они не влияют на то, что будет сделано, но управляют тем, как это будет сделано.

Заголовки SOAP-сообщений в Yukon введены в первую очередь для предоставления дополнительной информации о клиенте, подобной той, что предоставляется протоколом TDS. Все рассматриваемые ниже элементы находятся в пространстве имен http://schemas.microsoft.com/ sqlserver/2004/SOAP/Options, схема которой может быть получена из wsdl-документа web service.