WS_FAULT structure (webservices.h)
Une erreur est une valeur portée dans le corps d’un message qui transmet un échec de traitement. Les erreurs sont modélisées à l’aide de la structure WS_FAULT .
Syntaxe
typedef struct _WS_FAULT {
WS_FAULT_CODE *code;
WS_FAULT_REASON *reasons;
ULONG reasonCount;
WS_STRING actor;
WS_STRING node;
WS_XML_BUFFER *detail;
} WS_FAULT;
Membres
code
Tête de la liste des codes d’erreur qui identifie le type d’erreur.
Les codes d’erreur sont classés du plus générique au plus spécifique. Il doit y avoir au moins un code d’erreur. Le premier code d’erreur doit correspondre à un code d’erreur défini par SOAP. Par WS_ENVELOPE_VERSION_SOAP_1_1, seul le code d’erreur le plus spécifique est sérialisé (le premier de la liste).
Si l’URI d’espace de noms du premier code d’erreur est la chaîne vide, le premier code d’erreur est transformé comme suit lorsque l’erreur est sérialisée, comme suit :
- L’espace de noms SOAP approprié sera utilisé en fonction de la WS_ENVELOPE_VERSION.
- Si le nom local est « Sender » lors de l’utilisation de WS_ENVELOPE_VERSION_SOAP_1_1, « Client » est utilisé à la place.
- Si le nom local est « Récepteur » lors de l’utilisation de WS_ENVELOPE_VERSION_SOAP_1_1, « Serveur » est utilisé à la place.
reasons
Texte décrivant l’erreur. Il s’agit d’un tableau permettant d’utiliser différentes langues.
reasonCount
Nombre de raisons dans le tableau des raisons. Il en serait plus d’un si le texte était représenté dans plusieurs langues. Il doit y avoir au moins une raison de faute.
Pour WS_ENVELOPE_VERSION_SOAP_1_1, seule la première raison est sérialisée.
actor
Nom du processeur à l’origine de l’erreur. Si la chaîne est de longueur nulle, elle est supposée être le point de terminaison.
node
Emplacement du processeur à l’origine de l’erreur. Si la chaîne est de longueur nulle, elle est supposée être le point de terminaison.
Par WS_ENVELOPE_VERSION_SOAP_1_1, cette valeur n’est pas sérialisée.
detail
Le détail de l’erreur permet d’inclure du contenu XML avec l’erreur. S’il n’y a aucun détail, ce champ peut être NULL.
Pour WS_ENVELOPE_VERSION_SOAP_1_1, il ne doit être utilisé que si l’erreur n’est pas liée au traitement d’un en-tête du message. Les erreurs relatives aux en-têtes doivent utiliser un en-tête personnalisé pour relayer des informations sur l’erreur.
S’il existe des détails pour l’erreur, le WS_XML_BUFFER doit contenir un élément qui correspond à l’élément de détail d’une erreur SOAP. Le contenu XML spécifique à l’erreur est contenu dans l’élément de détail. Le nom local et l’espace de noms de l’élément sont ignorés ; ils sont remplacés par le nom d’élément approprié en fonction de l’WS_ENVELOPE_VERSION lors de l’écriture de l’élément de détail.
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] |
En-tête | webservices.h |