WsReadMessageStart-Funktion (webservices.h)
Lesen Sie die Kopfzeilen der nächsten Nachricht aus dem Kanal, und bereiten Sie das Lesen der Textelemente vor.
Syntax
HRESULT WsReadMessageStart(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *message,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parameter
[in] channel
Der Kanal, von dem empfangen werden soll.
[in] message
Die Nachricht, in die empfangen werden soll.
[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 Start der Nachricht wurde erfolgreich empfangen. |
|
Es sind keine weiteren Nachrichten im Kanal verfügbar. |
|
Der asynchrone Vorgang steht noch aus. |
|
Der Vorgang wurde abgebrochen. |
|
Der Vorgang ist aufgrund des aktuellen Zustands des Objekts nicht zulässig. |
|
Der Remoteendpunkt ist nicht vorhanden oder konnte nicht gefunden werden. |
|
Der Zugriff wurde vom Remoteendpunkt verweigert. |
|
Die Verbindung mit dem Remoteendpunkt wurde beendet. |
|
Der Remoteendpunkt konnte die Anforderung nicht verarbeiten. |
|
Der Remoteendpunkt ist an diesem Standort derzeit nicht im Dienst. |
|
Der Remoteendpunkt kann die Anforderung aufgrund einer Überlastung nicht verarbeiten. |
|
Der Remoteendpunkt war nicht erreichbar. |
|
Die Endpunktadressen-URL ist ungültig. |
|
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert. |
|
Der Vorgang wurde innerhalb der zugewiesenen Zeit nicht abgeschlossen. |
|
Der Zugriff wurde vom HTTP-Proxyserver verweigert. |
|
Der HTTP-Proxyserver konnte die Anforderung nicht verarbeiten. |
|
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. |
|
Ein Sicherheitstoken wurde vom Server abgelehnt, weil es abgelaufen ist. |
|
Der HTTP-Proxyserver erfordert das HTTP-Authentifizierungsschema "basic". |
|
Der HTTP-Proxyserver erfordert das HTTP-Authentifizierungsschema "digest". |
|
Der HTTP-Proxyserver erfordert das HTTP-Authentifizierungsschema "negotiate". |
|
Der HTTP-Proxyserver erfordert das HTTP-Authentifizierungsschema "NTLM". |
|
Der Remoteendpunkt erfordert das HTTP-Authentifizierungsschema "basic". |
|
Der Remoteendpunkt erfordert das HTTP-Authentifizierungsschema "digest". |
|
Der Remoteendpunkt erfordert das HTTP-Authentifizierungsschema "negotiate". |
|
Der Remoteendpunkt erfordert das HTTP-Authentifizierungsschema "NTLM". |
|
Ein erforderliches Zertifikat liegt nicht innerhalb seines Gültigkeitszeitraums, wenn es mit der aktuellen Systemuhr oder dem Zeitstempel in der signierten Datei überprüft wird. |
|
Der Zertifikat-CN-Name stimmt nicht mit dem übergebenen Wert überein. |
|
Eine Zertifikatkette, die verarbeitet, aber in einem Stammzertifikat beendet wird, dem der Vertrauensanbieter nicht vertraut. |
|
Das Zertifikat ist für die angeforderte Verwendung nicht zulässig. |
|
Die Sperrfunktion konnte die Sperrung nicht überprüfen, da der Sperrserver offline war. |
|
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
Dadurch wird der Anfang der nächsten Nachricht aus dem Kanal gelesen, einschließlich der Kopfzeilen der Nachricht.
Diese Funktion ähnelt WsReadEnvelopeStart , wird aber mit Kanälen verwendet.
Bei Erfolg werden die Header in der Nachricht gespeichert und können auf zufällige Weise (z. B. mit WsGetHeader) zugegriffen werden.
Die Nachricht muss sich in WS_MESSAGE_STATE_EMPTY Zustand befinden. Nach erfolgreicher Ausführung ist die Nachricht in WS_MESSAGE_STATE_READING Zustand übergewechselt.
Verwenden Sie WsReadBody, um ein Element des Nachrichtentexts zu deserialisieren. Um direkt aus dem XML-Reader der Nachricht zu lesen, rufen Sie zuerst den Reader mithilfe der WS_MESSAGE_PROPERTY_BODY_READER-Eigenschaft ab.
Wenn die Kanaleingabe gestreamt wird (WS_STREAMED_INPUT_TRANSFER_MODE), muss WsFillBody aufgerufen werden, um den nächsten Teil des Texts zu empfangen, bevor er tatsächlich gelesen wird.
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 |