Message (services web Windows)

Un message est un objet qui encapsule les données transmises ou reçues. La structure d’un message est définie par SOAP et inclut un ensemble d’en-têtes et un corps. Les en-têtes sont toujours mis en mémoire tampon, mais le corps est lu et écrit avec une API de diffusion en continu.

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

Les messages ont un ensemble de propriétés qui peuvent être utilisées pour spécifier des paramètres facultatifs qui contrôlent le comportement d’un message et pour fournir un moyen de récupérer des informations supplémentaires sur les messages reçus (telles que les informations de sécurité). Consultez WS_MESSAGE_PROPERTY_ID pour obtenir la liste complète des propriétés de message.

Un message est adressé à une Adresse de point de terminaison spécifique.

Un WS_FAULT est un type spécial de contenu de message utilisé pour représenter les échecs retournés à partir d’un point de terminaison distant.

Les messages subissent un encodage qui transforme le XML en un format de transmission linéaire avant d’être transmis.

Pour plus d’informations sur les messages, consultez la rubrique Vue d’ensemble de la couche de canaux.

Les exemples suivants illustrent l’utilisation de messages dans WWSAPI.

Exemple Description
CustomHeaderExample Illustre l’utilisation d’en-têtes de message personnalisés.
MessageEncodingExample Illustre l’encodage et le décodage d’un message.
ForwardMessageExample Illustre le transfert d’un message.

 

Les éléments d’API suivants sont utilisés avec des messages.

Rappel Description
WS_MESSAGE_DONE_CALLBACK Avertit l’appelant que le message a terminé son utilisation de la structure WS_XML_READER fournie à la fonction WsReadEnvelopeStart ou de la structure WS_XML_WRITER fournie à la fonction WsWriteEnvelopeStart.

 

Énumération Description
WS_ADDRESSING_VERSION Version de la spécification utilisée pour les en-têtes d’adressage.
WS_ENVELOPE_VERSION Version de la spécification utilisée pour la structure d’enveloppe.
WS_HEADER_ATTRIBUTES Ensemble d’indicateurs représentant les attributs SOAP mustUnderstand et relay d’un en-tête.
WS_HEADER_TYPE Type de l’en-tête.
WS_MESSAGE_INITIALIZATION Spécifie les en-têtes que WsInitializeMessage doit ajouter au message.
WS_MESSAGE_PROPERTY_ID ID de chaque propriété de message.
WS_MESSAGE_STATE État du message.

 

Fonction Description
WsAddressMessage Attribue une adresse de destination à un message.
WsCheckMustUnderstandHeaders Vérifie que les en-têtes spécifiés ont été bien compris par le récepteur.
WsCreateMessage Crée une instance d’un objet WS_MESSAGE.
WsCreateMessageForChannel Crée un message approprié à utiliser avec un canal spécifique.
WsFillBody Garantit qu’il existe un nombre suffisant d’octets disponibles dans un message pour la lecture.
WsFlushBody Vide toutes les données de corps de message accumulées qui ont été écrites.
WsFreeMessage Libère la ressource mémoire associée à un message.
WsGetCustomHeader Trouve l’en-tête défini par l’application du message et le désérialise.
WsGetHeader Recherche un en-tête standard particulier dans le message et le désérialise.
WsGetHeaderAttributes Remplit un paramètre ULONG avec le WS_HEADER_ATTRIBUTES de l’élément d’en-tête sur lequel le lecteur est positionné.
WsGetMessageProperty Récupère une propriété d’objet Message spécifiée.
WsInitializeMessage Initialise les en-têtes du message en préparation du traitement.
WsMarkHeaderAsUnderstood Marque un en-tête tel qu’il est compris par l’application.
WsReadBody Désérialise une valeur du lecteur XML du message.
WsReadEnvelopeEnd Lit les éléments de clôture d’un message.
WsReadEnvelopeStart Lit les en-têtes du message et se prépare à lire les éléments du corps.
WsRemoveCustomHeader Supprime un en-tête personnalisé du message.
WsRemoveHeader Supprime l’objet WS_HEADER_TYPE standard d’un message.
WsResetMessage Définit l’état du message à nouveau sur WS_MESSAGE_STATE_EMPTY.
WsSetHeader Ajoute ou remplace l’en-tête standard spécifié dans le message.
WsWriteBody Écrit une valeur dans le corps d’un message.
WsWriteEnvelopeEnd Écrit les éléments de clôture d’un message.
WsWriteEnvelopeStart Écrit le début du message, y compris l’ensemble actuel d’en-têtes du message et se prépare à écrire les éléments du corps.

 

Poignée Description
WS_MESSAGE Type opaque utilisé pour référencer un objet de message.

 

Structure Description
WS_FAULT Valeur d’erreur portée dans le corps d’un message qui indique un échec de traitement.
WS_FAULT_CODE Représente un code d’erreur.
WS_FAULT_REASON Contient une explication de l’erreur.
WS_MESSAGE_PROPERTIES Spécifie un jeu de structures WS_MESSAGE_PROPERTY.
WS_MESSAGE_PROPERTY Spécifie un paramètre spécifique au message.