WsSendMessage-Funktion (webservices.h)
Senden Sie eine Nachricht in einem Kanal mithilfe der Serialisierung, um das Body-Element zu schreiben.
Syntax
HRESULT WsSendMessage(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *message,
[in] const WS_MESSAGE_DESCRIPTION *messageDescription,
[in] WS_WRITE_OPTION writeOption,
const void *bodyValue,
[in] ULONG bodyValueSize,
[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] message
Das Nachrichtenobjekt, das zum Senden verwendet werden soll.
Das Nachrichtenobjekt muss sich in WS_MESSAGE_STATE_EMPTY oder WS_MESSAGE_STATE_INITIALIZED.
[in] messageDescription
Das Aktionsfeld des WS_MESSAGE_DESCRIPTION wird als Aktionsheader für die Nachricht verwendet. Dieses Feld kann NULL sein, wenn keine Aktion erforderlich ist.
Das BodyElementDescription-Feld des WS_MESSAGE_DESCRIPTION wird verwendet, um den Nachrichtentext zu serialisieren. Dieses Feld kann NULL sein, wenn kein Textelement gewünscht wird. Informationen dazu, wie bodyElementDescription zum Serialisieren des Werts verwendet wird, finden Sie unter WsWriteBody .
[in] writeOption
Gibt an, ob das Body-Element erforderlich ist und wie der Wert zugeordnet wird. Dies wird nur verwendet, wenn ein Textelement gewünscht wird. Weitere Informationen finden Sie unter WS_WRITE_OPTION und WsWriteBody.
bodyValue
Der Wert, der im Nachrichtentext serialisiert werden soll.
[in] bodyValueSize
Die Größe des zu serialisierenden Werts in Bytes.
[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. |
|
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
Um benutzerdefinierte Header in die Nachricht einzuschließen, initialisieren Sie die Nachricht WsInitializeMessage mit WS_BLANK_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 |