Сообщение (веб-службы Windows)

Сообщение — это объект, который инкапсулирует данные, передаваемые или полученные. Структура сообщения определяется SOAP и включает набор заголовков и текст. Заголовки всегда буферизуются в памяти, но текст считывается и записывается с помощью API потоковой передачи.

Diagram showing a message with the header being buffered and the body being streamed.

Сообщения имеют набор свойств, которые можно использовать для указания необязательных параметров, которые управляют поведением сообщения, а также для предоставления способа получения дополнительных сведений о полученных сообщениях (таких как сведения о безопасности). Полный список свойств сообщения см . в WS_MESSAGE_PROPERTY_ID .

Сообщение обращается к определенному адресу конечной точки.

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

Сообщения проходят кодировку, которая преобразует XML в линейный формат провода перед передачей.

Дополнительные сведения о сообщениях см. в разделе " Обзор уровня канала".

В следующих примерах показано использование сообщений в WWSAPI.

Пример Description
CustomHeaderExample Иллюстрирует использование пользовательских заголовков сообщений.
MessageEncodingExample Иллюстрирует кодировку и декодирование сообщения.
ForwardMessageExample Иллюстрирует пересылку сообщения.

 

Следующие элементы API используются с сообщениями.

Обратный вызов Description
WS_MESSAGE_DONE_CALLBACK Уведомляет вызывающий объект о том, что сообщение завершило использование WS_XML_READER структуры, предоставленной функции WsReadEnvelopeStart, или структуры WS_XML_WRITER, предоставленной функции WsWriteEnvelopeStart.

 

Перечисление Description
WS_ADDRESSING_VERSION Версия спецификации, используемой для заголовков адресации.
WS_ENVELOPE_VERSION Версия спецификации, используемой для структуры конверта.
WS_HEADER_ATTRIBUTES Набор флагов, представляющих атрибуты SOAP mustUnderstand и ретранслятора заголовка.
WS_HEADER_TYPE Тип заголовка.
WS_MESSAGE_INITIALIZATION Указывает, какие заголовки должны добавляться в сообщение WsInitializeMessage .
WS_MESSAGE_PROPERTY_ID Идентификатор каждого свойства сообщения.
WS_MESSAGE_STATE Состояние сообщения.

 

Function Description
WsAddressMessage Назначает целевой адрес сообщению.
WsCheckMustUnderstandHeaders Проверяет, что указанные заголовки были правильно поняты получателем.
WsCreateMessage Создает экземпляр объекта WS_MESSAGE .
WsCreateMessageForChannel Создает сообщение, подходящее для использования с определенным каналом.
WsFillBody Гарантирует наличие достаточного количества байтов, доступных в сообщении для чтения.
WsFlushBody Очищает все накопленные данные текста сообщения, записанные.
WsFreeMessage Освобождает ресурс памяти, связанный с сообщением.
WsGetCustomHeader Находит определенный приложением заголовок сообщения и десериализирует его.
WsGetHeader Находит определенный стандартный заголовок в сообщении и десериализирует его.
WsGetHeaderAttributes Заполняет параметр ULONG WS_HEADER_ATTRIBUTES из элемента заголовка, на котором размещен читатель.
WsGetMessageProperty Извлекает указанное свойство объекта Message.
WsInitializeMessage Инициализирует заголовки сообщения при подготовке к обработке.
WsMarkHeaderAsUnderstood Помечает заголовок как понятное приложение.
WsReadBody Десериализирует значение из средства чтения XML сообщения.
WsReadEnvelopeEnd Считывает закрывающие элементы сообщения.
WsReadEnvelopeStart Считывает заголовки сообщения и готовится к чтению элементов текста.
WsRemoveCustomHeader Удаляет пользовательский заголовок из сообщения.
WsRemoveHeader Удаляет стандартный объект WS_HEADER_TYPE из сообщения.
WsResetMessage Задает состояние сообщения обратно в WS_MESSAGE_STATE_EMPTY.
WsSetHeader Добавляет или заменяет указанный стандартный заголовок в сообщении.
WsWriteBody Записывает значение в тексте сообщения.
WsWriteEnvelopeEnd Записывает закрывающие элементы сообщения.
WsWriteEnvelopeStart Записывает начало сообщения, включая текущий набор заголовков сообщения и готовится к записи элементов текста.

 

Handle Description
WS_MESSAGE Непрозрачный тип, используемый для ссылки на объект сообщения.

 

Структура Description
WS_FAULT Значение сбоя, которое выполняется в тексте сообщения, которое указывает на сбой обработки.
WS_FAULT_CODE Представляет код сбоя.
WS_FAULT_REASON Содержит объяснение ошибки.
WS_MESSAGE_PROPERTIES Задает набор структур WS_MESSAGE_PROPERTY.
WS_MESSAGE_PROPERTY Указывает конкретный параметр сообщения.