WsSendReplyMessage 函数 (webservices.h)

发送一条消息,该消息是对收到的消息的答复。

语法

HRESULT WsSendReplyMessage(
  [in]           WS_CHANNEL                   *channel,
  [in]           WS_MESSAGE                   *replyMessage,
  [in]           const WS_MESSAGE_DESCRIPTION *replyMessageDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *replyBodyValue,
  [in]           ULONG                        replyBodyValueSize,
  [in]           WS_MESSAGE                   *requestMessage,
  [in, optional] const WS_ASYNC_CONTEXT       *asyncContext,
  [in, optional] WS_ERROR                     *error
);

参数

[in] channel

指向要发送答复消息的 Channel 对象的指针。 指针必须引用有效的 WS_CHANNEL 对象。

[in] replyMessage

指向用于发送答复的 Message 对象的指针。 指针必须引用有效的 WS_MESSAGE 对象。

消息对象状态必须设置为 WS_MESSAGE_STATE_EMPTYWS_MESSAGE_STATE_INITIALIZED

注意 如果提供了已初始化的消息,则必须使用 WS_REPLY_MESSAGEWS_FAULT_MESSAGE对其进行初始化。
 

[in] replyMessageDescription

指向 WS_MESSAGE_DESCRIPTION 对象的指针。 WS_MESSAGE_DESCRIPTION的操作字段用作答复消息的操作标头。 如果不需要任何操作,则此字段可以为 NULL

WS_MESSAGE_DESCRIPTIONbodyElementDescription 字段用于序列化答复消息的正文。 如果不需要 body 元素,则此字段可能为 NULL 。 有关如何使用 bodyElementDescription 序列化值的信息,请参阅 WsWriteBody

[in] writeOption

确定是否需要 body 元素,以及如何分配值。

有关详细信息 ,请参阅WS_WRITE_OPTION

replyBodyValue

指向要在答复消息中序列化的值的 void 指针。

[in] replyBodyValueSize

正在序列化的回复值的大小(以字节为单位)。

[in] requestMessage

指向封装请求消息文本WS_MESSAGE 对象的指针。 这用于获取用于表述回复消息的相关信息。

注意 消息可以处于除 WS_MESSAGE_STATE_EMPTY之外的任何状态。
 

[in, optional] asyncContext

指向 WS_ASYNC_CONTEXT 数据结构的指针,其中包含有关异步调用函数的信息。 NULL 值指示同步操作的请求。

[in, optional] error

指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。

返回值

此函数可以返回其中一个值。

返回代码 说明
WS_S_ASYNC
异步操作仍处于挂起状态。
WS_E_OPERATION_ABORTED
操作已中止。
WS_E_INVALID_OPERATION
由于对象的当前状态,不允许该操作。
WS_E_ENDPOINT_DISCONNECTED
与远程终结点的连接已终止。
WS_E_INVALID_FORMAT
输入数据未采用预期格式或没有预期值。
WS_E_OPERATION_TIMED_OUT
操作未在分配的时间内完成。
WS_E_QUOTA_EXCEEDED
超出配额。
WS_E_SECURITY_VERIFICATION_FAILURE
收到的数据的安全验证未成功。
WS_E_SECURITY_SYSTEM_FAILURE
Windows Web Services 框架中的安全操作失败。
WS_E_SECURITY_TOKEN_EXPIRED
服务器拒绝了安全令牌,因为它已过期。
E_OUTOFMEMORY
内存不足。
E_INVALIDARG
一个或多个参数无效。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

答复消息将包含适用于 WS_ADDRESSING_VERSION的相关信息。 有关关联请求回复消息的详细信息,请参阅 通道层概述

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll