Fonction WsSendReplyMessage (webservices.h)

Envoie un message qui est une réponse à un message reçu.

Syntaxe

HRESULT WsSendReplyMessage(
  [in]           WS_CHANNEL                   *channel,
  [in]           WS_MESSAGE                   *replyMessage,
  [in]           const WS_MESSAGE_DESCRIPTION *replyMessageDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *replyBodyValue,
  [in]           ULONG                        replyBodyValueSize,
  [in]           WS_MESSAGE                   *requestMessage,
  [in, optional] const WS_ASYNC_CONTEXT       *asyncContext,
  [in, optional] WS_ERROR                     *error
);

Paramètres

[in] channel

Pointeur vers l’objet Channel sur lequel envoyer le message de réponse. Le pointeur doit référencer un objet WS_CHANNEL valide.

[in] replyMessage

Pointeur vers l’objet Message pour l’envoi de la réponse. Le pointeur doit référencer un objet WS_MESSAGE valide.

L’état de l’objet message doit être défini sur WS_MESSAGE_STATE_EMPTY ou WS_MESSAGE_STATE_INITIALIZED.

Note Si un message initialisé est fourni, il doit être initialisé à l’aide de WS_REPLY_MESSAGE ou WS_FAULT_MESSAGE.
 

[in] replyMessageDescription

Pointeur vers un objet WS_MESSAGE_DESCRIPTION . Le champ d’action de WS_MESSAGE_DESCRIPTION est utilisé comme en-tête d’action pour le message de réponse. Ce champ peut avoir la valeur NULL si aucune action n’est requise.

Le champ bodyElementDescription du WS_MESSAGE_DESCRIPTION est utilisé pour sérialiser le corps du message de réponse. Ce champ peut avoir la valeur NULL si aucun élément body n’est souhaité. Consultez WsWriteBody pour plus d’informations sur la façon dont bodyElementDescription est utilisé pour sérialiser une valeur.

[in] writeOption

Détermine si l’élément body est requis et comment la valeur est allouée.

Pour plus d’informations, consultez WS_WRITE_OPTION .

replyBodyValue

Pointeur void vers la valeur à sérialiser dans le message de réponse.

[in] replyBodyValueSize

Taille en octets de la valeur de réponse sérialisée.

[in] requestMessage

Pointeur vers un objet WS_MESSAGE encapsulant le texte du message de demande. Cela permet d’obtenir des informations de corrélation utilisées dans la formulation du message de réponse.

Note Le message peut être dans n’importe quel état, sauf WS_MESSAGE_STATE_EMPTY.
 

[in, optional] asyncContext

Un pointeur vers une structure de données WS_ASYNC_CONTEXT avec des informations sur l’appel de la fonction de manière asynchrone. Une valeur NULL indique une demande d’opération synchrone.

[in, optional] error

Pointeur vers un objet WS_ERROR où des informations supplémentaires sur l’erreur doivent être stockées en cas d’échec de la fonction.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
WS_S_ASYNC
L’opération asynchrone est toujours en attente.
WS_E_OPERATION_ABORTED
L'opération a été abandonnée.
WS_E_INVALID_OPERATION
L’opération n’est pas autorisée en raison de l’état actuel de l’objet.
WS_E_ENDPOINT_DISCONNECTED
La connexion avec le point de terminaison distant a été interrompue.
WS_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
WS_E_OPERATION_TIMED_OUT
L’opération ne s’est pas terminée dans le délai imparti.
WS_E_QUOTA_EXCEEDED
Un quota a été dépassé.
WS_E_SECURITY_VERIFICATION_FAILURE
La vérification de sécurité n’a pas réussi pour les données reçues.
WS_E_SECURITY_SYSTEM_FAILURE
Une opération de sécurité a échoué dans l’infrastructure des services web Windows.
WS_E_SECURITY_TOKEN_EXPIRED
Un jeton de sécurité a été rejeté par le serveur, car il a expiré.
E_OUTOFMEMORY
Nous avons manqué de mémoire.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Le message de réponse inclut les informations de corrélation appropriées pour le WS_ADDRESSING_VERSION. Pour plus d’informations sur la corrélation des messages de réponse aux demandes, consultez Vue d’ensemble de la couche de canal.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll