Mensaje (servicios web de Windows)
Un mensaje es un objeto que encapsula los datos que se transmiten o reciben. La estructura de un mensaje se define mediante SOAP e incluye un conjunto de encabezados y un cuerpo. Los encabezados siempre se almacenan en búfer en la memoria, pero el cuerpo se lee y escribe con una API de streaming.
Los mensajes tienen un conjunto de propiedades que se pueden usar para especificar configuraciones opcionales que controlan el comportamiento de un mensaje y para proporcionar una manera de recuperar información adicional sobre los mensajes recibidos (como la información de seguridad). Consulte WS_MESSAGE_PROPERTY_ID para obtener una lista completa de las propiedades del mensaje.
Un mensaje se dirige a una Dirección de punto de conexión específica.
Un WS_FAULT es un tipo especial de contenido de mensaje usado para representar errores devueltos desde un punto de conexión remoto.
Los mensajes se someten a una codificación que transforma el XML en un formato de conexión lineal antes de transmitirse.
Para obtener más información sobre los mensajes, consulte el tema Información general sobre la capa de canal.
En los ejemplos siguientes se muestra el uso de mensajes en WWSAPI.
Ejemplo | Descripción |
---|---|
CustomHeaderExample | Muestra el uso de encabezados de mensaje personalizados. |
MessageEncodingExample | Muestra la codificación y descodificación de un mensaje. |
ForwardMessageExample | Muestra el reenvío de un mensaje. |
Los siguientes elementos de API se usan con mensajes.
Devolución de llamada | Descripción |
---|---|
WS_MESSAGE_DONE_CALLBACK | Notifica al autor de la llamada que el mensaje ha completado su uso de la estructura WS_XML_READER que se proporcionó a la función WsReadEnvelopeStart o de la estructura de WS_XML_WRITER proporcionada a la función WsWriteEnvelopeStart. |
Enumeración | Descripción |
---|---|
WS_ADDRESSING_VERSION | Versión de la especificación utilizada para los encabezados de direccionamiento. |
WS_ENVELOPE_VERSION | Versión de la especificación utilizada para la estructura de sobre. |
WS_HEADER_ATTRIBUTES | Conjunto de marcas que representan los atributos SOAP mustUnderstand y relay de un encabezado. |
WS_HEADER_TYPE | Tipo del encabezado. |
WS_MESSAGE_INITIALIZATION | Especifica qué encabezados debe agregar WsInitializeMessage al mensaje. |
WS_MESSAGE_PROPERTY_ID | El id. de cada propiedad de mensaje. |
WS_MESSAGE_STATE | Estado del mensaje. |
Función | Descripción |
---|---|
WsAddressMessage | Asigna una dirección de destino a un mensaje. |
WsCheckMustUnderstandHeaders | Comprueba que el receptor entienda adecuadamente los encabezados especificados. |
WsCreateMessage | Crea una instancia de un objeto WS_MESSAGE. |
WsCreateMessageForChannel | Crea un mensaje adecuado para su uso con un canal específico. |
WsFillBody | Garantiza que haya un número suficiente de bytes disponibles en un mensaje para leer. |
WsFlushBody | Vacía todos los datos acumulados del cuerpo del mensaje que se hayan escrito. |
WsFreeMessage | Libera el recurso de memoria asociado a un mensaje. |
WsGetCustomHeader | Busca el encabezado definido por la aplicación del mensaje y lo deserializa. |
WsGetHeader | Busca un encabezado estándar determinado en el mensaje y lo deserializa. |
WsGetHeaderAttributes | Rellena un parámetro ULONG con el WS_HEADER_ATTRIBUTES del elemento de encabezado en el que se coloca el lector. |
WsGetMessageProperty | Recupera una propiedad del objeto Message especificada. |
WsInitializeMessage | Inicializa los encabezados del mensaje como preparación para su procesamiento. |
WsMarkHeaderAsUnderstood | Marca un encabezado tal como lo entiende la aplicación. |
WsReadBody | Deserializa un valor del Lector XML del mensaje. |
WsReadEnvelopeEnd | Lee los elementos de cierre de un mensaje. |
WsReadEnvelopeStart | Lee los encabezados del mensaje y se prepara para leer los elementos del cuerpo. |
WsRemoveCustomHeader | Quita un encabezado personalizado del mensaje. |
WsRemoveHeader | Quita el objeto WS_HEADER_TYPE estándar de un mensaje. |
WsResetMessage | Vuelve a establecer el estado de mensaje en WS_MESSAGE_STATE_EMPTY. |
WsSetHeader | Agrega o reemplaza el encabezado estándar especificado en el mensaje. |
WsWriteBody | Escribe un valor en el cuerpo de un mensaje. |
WsWriteEnvelopeEnd | Escribe los elementos de cierre de un mensaje. |
WsWriteEnvelopeStart | Escribe el inicio del mensaje, incluido el conjunto actual de encabezados del mensaje y se prepara para escribir los elementos del cuerpo. |
Handle | Descripción |
---|---|
WS_MESSAGE | Tipo opaco que se usa para hacer referencia a un objeto de mensaje. |
Estructura | Descripción |
---|---|
WS_FAULT | Valor de error llevado en el cuerpo de un mensaje que indica un error de procesamiento. |
WS_FAULT_CODE | Representa un código de error. |
WS_FAULT_REASON | Contiene una explicación del error. |
WS_MESSAGE_PROPERTIES | Especifica un conjunto de estructuras de WS_MESSAGE_PROPERTY. |
WS_MESSAGE_PROPERTY | Especifica una configuración específica del mensaje. |