WsSendFaultMessageForError-Funktion (webservices.h)
Sendet eine Fehlermeldung, die ein WS_ERROR-Objekt enthält.
Syntax
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
);
Parameter
[in] channel
Der Kanal, auf dem die Nachricht gesendet werden soll.
[in] replyMessage
Ein Nachrichtenobjekt, das zum Senden der Antwortnachricht verwendet werden soll.
Das Nachrichtenobjekt sollte sich in WS_MESSAGE_STATE_EMPTY oder WS_MESSAGE_STATE_INITIALIZED. Wenn eine initialisierte Nachricht bereitgestellt wird, sollte sie mit WS_FAULT_MESSAGE initialisiert werden.
[in] faultError
Das Fehlerobjekt, das zum Erstellen des Fehlers verwendet werden soll.
[in] faultErrorCode
Der Fehlercode, der dem Fehler zugeordnet ist. Dies kann kein Erfolgscode sein.
Dieser Fehlercode ist nie direkt in der Fehlermeldung enthalten, sondern wird stattdessen als Fallbackmechanismus zum Erstellen einer Fehlerzeichenfolge verwendet, falls das WS_ERROR-Objekt keine Fehlerzeichenfolgen enthält.
[in] faultDisclosure
Steuert, wie viele der Fehlerinformationen in der Fehlermeldung enthalten sind.
[in] requestMessage
Die Anforderungsnachricht. Dies wird verwendet, um Korrelationsinformationen abzurufen, die beim Formulieren der Antwortnachricht verwendet werden.
Die Nachricht kann sich in einem beliebigen Zustand befinden, aber WS_MESSAGE_STATE_EMPTY.
[in, optional] asyncContext
Informationen zum asynchronen Aufrufen der Funktion oder NULL beim synchronen Aufruf.
[in, optional] error
Gibt an, wo zusätzliche Fehlerinformationen gespeichert werden sollen, wenn die Funktion fehlschlägt.
Rückgabewert
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Der asynchrone Vorgang steht noch aus. |
|
Der Vorgang wurde abgebrochen. |
|
Der Vorgang ist aufgrund des aktuellen Zustands des Objekts nicht zulässig. |
|
Die Verbindung mit dem Remoteendpunkt wurde beendet. |
|
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert. |
|
Der Vorgang wurde innerhalb der zugewiesenen Zeit nicht abgeschlossen. |
|
Ein Kontingent wurde überschritten. |
|
Die Sicherheitsüberprüfung für die empfangenen Daten war nicht erfolgreich. |
|
Ein Sicherheitsvorgang ist im Windows Web Services-Framework fehlgeschlagen. |
|
Der Arbeitsspeicher ist nicht mehr vorhanden. |
|
Mindestens ein Argument ist ungültig. |
|
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind. |
Hinweise
Die WS_FAULT , die im Nachrichtentext gesendet wird, wird mit den gleichen Regeln erstellt, die von WsCreateFaultFromError definiert sind.
Der Wert der für die Antwortnachricht verwendeten WS_ACTION_HEADER wird wie folgt berechnet:
- Wenn der WS_CHANNEL_PROPERTY_ADDRESSING_VERSION des Kanals WS_ADDRESSING_VERSION_TRANSPORT ist, ist keine Aktion in der Nachricht enthalten, da die Adressierungsversion keinen Aktionswert für Fehler zulässt.
- Wenn das Error-Objekt eine Aktionszeichenfolge enthält (die Länge der von WS_FAULT_ERROR_PROPERTY_ACTION zurückgegebenen Zeichenfolge ist größer als 0 (null), wird die Aktionszeichenfolge verwendet.
- Wenn das Fehlerobjekt keine Aktion enthält, wird ein Standardaktionswert angegeben.
Die Fehlermeldung enthält Korrelationsinformationen entsprechend der WS_ADDRESSING_VERSION. Weitere Informationen zum Korrelieren von Anforderungsantwortnachrichten finden Sie unter Übersicht über die Kanalebene .
Wenn Sie einen Fehler ohne ein WS_ERROR-Objekt senden, verwenden Sie WsSendReplyMessage.
Um der Nachricht benutzerdefinierte Header hinzuzufügen, initialisieren Sie die Nachricht WsInitializeMessage mit WS_FAULT_MESSAGE und fügen Sie dann die Header mithilfe von WsAddCustomHeader hinzu, bevor Sie diese Funktion aufrufen.
Anforderungen
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 |