WsGetFaultErrorDetail-Funktion (webservices.h)
Lesen Sie die Fehlerdetails, die in einem WS_ERROR-Objekt gespeichert sind.
Syntax
HRESULT WsGetFaultErrorDetail(
[in] WS_ERROR *error,
[in] const WS_FAULT_DETAIL_DESCRIPTION *faultDetailDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize
);
Parameter
[in] error
Das Fehlerobjekt, das die Fehlerinformationen enthält.
[in] faultDetailDescription
Ein Zeiger auf eine Beschreibung des Fehlerdetailelements.
Der Aktionswert der Fehlerdetailbeschreibung wird als Filterwert verwendet, um mit der Aktion des Fehlers abzugleichen. Wenn beide Aktionszeichenfolgen angegeben sind (der Aktionswert der Fehlerdetailbeschreibung ist nicht NULL und der Aktionswert WS_FAULT_ERROR_PROPERTY_ACTION in der WS_ERROR eine Länge größer als 0) hat, werden die Aktionszeichenfolgen verglichen, um eine Übereinstimmung zu ermitteln. Wenn eine Übereinstimmung vorhanden ist, versucht die Funktion dann, das Detailelement deserialisieren.
Die Elementbeschreibung der Fehlerdetailbeschreibung wird verwendet, um das Format des Elements im Fehlerdetail zu beschreiben.
[in] readOption
Gibt an, ob das Element erforderlich ist und wie der Wert zugeordnet werden soll. Weitere Informationen finden Sie unter WS_READ_OPTION .
[in, optional] heap
Der Heap, in dem die deserialisierten Werte gespeichert werden sollen.
value
Die Interpretation dieses Parameters hängt vom WS_READ_OPTION ab.
[in] valueSize
Die Interpretation dieses Parameters hängt vom WS_READ_OPTION ab.
Rückgabewert
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Die Eingabedaten waren nicht im erwarteten Format oder hatten nicht den erwarteten Wert. |
|
Der Arbeitsspeicher ist nicht mehr vorhanden. |
|
Das Größenkontingent des Heaps wurde überschritten. |
|
Mindestens ein Argument ist ungültig. |
Hinweise
Diese API deserialisiert den Wert aus dem Detailfeld des WS_FAULT , das im WS_ERROR-Objekt gespeichert ist.
Diese Funktionen unterstützen die folgenden Szenarien basierend auf dem Inhalt der WS_ELEMENT_DESCRIPTION in der angegebenen WS_FAULT_DETAIL_DESCRIPTION :
- Lesen eines einzelnen Elements.
In diesem Fall sollten die Felder elementLocalName und elementNs des WS_ELEMENT_DESCRIPTION auf den lokalen Namen und Namespace des zu lesenden Elements festgelegt werden, und die Typ- und Typbeschreibung stellt den Typ deserialisierten Werts dar.
Da von einem Dienst verschiedene Fehler mit unterschiedlichen Detailformaten erwartet werden können, kann diese Funktion nacheinander aufgerufen werden, um jeden Detailtyp zu lesen. In diesem Fall kann der WS_READ_OPTIONAL_POINTER Wert angegeben werden, der einen NULL-Zeiger zurückgibt, wenn der Elementname im Fehlerdetail nicht mit dem erwarteten Wert übereinstimmt.
- Lesen mehrerer Elemente als einzelner Wert. In diesem Fall sollten die Felder elementLocalName und elementNs des WS_ELEMENT_DESCRIPTION auf NULL festgelegt werden, und es sollte ein WS_STRUCT_TYPE und WS_STRUCT_DESCRIPTION angegeben werden. Jedes Feld deserialisierten Strukturwerts sollte Elementen entsprechen, die innerhalb des Textkörpers gelesen werden sollen. Der readOption-Parameter muss WS_READ_REQUIRED_VALUE oder WS_READ_REQUIRED_POINTER sein.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | webservices.h |
Bibliothek | WebServices.lib |
DLL | WebServices.dll |