WsSendFaultMessageForError, fonction (webservices.h)
Envoie un message d’erreur en fonction d’un objet WS_ERROR .
Syntaxe
HRESULT WsSendFaultMessageForError(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *replyMessage,
[in] WS_ERROR *faultError,
[in] HRESULT faultErrorCode,
[in] WS_FAULT_DISCLOSURE faultDisclosure,
[in] WS_MESSAGE *requestMessage,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Paramètres
[in] channel
Canal sur lequel envoyer le message.
[in] replyMessage
Objet de message à utiliser pour envoyer le message de réponse.
L’objet message doit être dans WS_MESSAGE_STATE_EMPTY ou WS_MESSAGE_STATE_INITIALIZED. Si un message initialisé est fourni, il doit avoir été initialisé à l’aide de WS_FAULT_MESSAGE.
[in] faultError
Objet d’erreur à utiliser pour construire l’erreur.
[in] faultErrorCode
Code d’erreur associé à l’erreur. Il ne peut pas s’agir d’un code de réussite.
Ce code d’erreur n’est jamais inclus directement dans le message d’erreur, mais il est utilisé comme mécanisme de secours pour créer une chaîne d’erreur dans le cas où l’objet WS_ERROR ne contient pas de chaînes d’erreur.
[in] faultDisclosure
Contrôle la quantité d’informations d’erreur incluses dans le message d’erreur.
[in] requestMessage
Message de demande. Cela permet d’obtenir des informations de corrélation utilisées dans la formulation du message de réponse.
Le message peut être dans n’importe quel état , mais WS_MESSAGE_STATE_EMPTY.
[in, optional] asyncContext
Informations sur la façon d’appeler la fonction de manière asynchrone, ou NULL en cas d’appel synchrone.
[in, optional] error
Spécifie l’emplacement où des informations d’erreur supplémentaires 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 |
---|---|
|
L’opération asynchrone est toujours en attente. |
|
L'opération a été abandonnée. |
|
L’opération n’est pas autorisée en raison de l’état actuel de l’objet. |
|
La connexion avec le point de terminaison distant a été interrompue. |
|
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue. |
|
L’opération ne s’est pas terminée dans le délai imparti. |
|
Un quota a été dépassé. |
|
La vérification de sécurité n’a pas réussi pour les données reçues. |
|
Une opération de sécurité a échoué dans l’infrastructure des services Web Windows. |
|
Mémoire insuffisante. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus. |
Remarques
Le WS_FAULT envoyé dans le corps du message est construit à l’aide des mêmes règles que celles définies par WsCreateFaultFromError.
La valeur de la WS_ACTION_HEADER utilisée pour le message de réponse est calculée comme suit :
- Si le WS_CHANNEL_PROPERTY_ADDRESSING_VERSION du canal est WS_ADDRESSING_VERSION_TRANSPORT, aucune action n’est incluse dans le message, car la version d’adressage n’autorise pas de valeur d’action pour les erreurs.
- Si l’objet error contient une chaîne d’action (la longueur de la chaîne retournée par WS_FAULT_ERROR_PROPERTY_ACTION est supérieure à zéro), la chaîne d’action est utilisée.
- Si l’objet error ne contient pas d’action, une valeur d’action par défaut est fournie.
Le message d’erreur inclut des informations de corrélation appropriées au 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.
Si vous envoyez une erreur sans objet WS_ERROR , utilisez WsSendReplyMessage.
Pour ajouter des en-têtes personnalisés au message, initialisez le message WsInitializeMessage avec WS_FAULT_MESSAGE , puis ajoutez les en-têtes à l’aide de WsAddCustomHeader avant d’appeler cette fonction.
Configuration requise
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 |