WsWriteMessageStart 函数 (webservices.h)
将消息的所有标头写出到通道,并准备写入正文元素。
语法
HRESULT WsWriteMessageStart(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *message,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
参数
[in] channel
用于写入消息的通道。
[in] message
要写入的消息。
[in, optional] asyncContext
有关如何异步调用函数的信息;如果同步调用,则为 NULL 。
[in, optional] error
指定在函数失败时应存储其他错误信息的位置。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
异步操作仍处于挂起状态。 |
|
操作已中止。 |
|
由于 对象的当前状态,不允许此操作。 |
|
远程终结点不存在或找不到。 |
|
远程终结点拒绝访问。 |
|
与远程终结点的连接已终止。 |
|
远程终结点无法处理请求。 |
|
远程终结点当前未在此位置使用。 |
|
由于重载,远程终结点无法处理请求。 |
|
无法访问远程终结点。 |
|
终结点地址 URL 无效。 |
|
输入数据的格式不是预期的,或者没有预期的值。 |
|
该操作未在分配的时间内完成。 |
|
HTTP 代理服务器拒绝访问。 |
|
HTTP 代理服务器无法处理请求。 |
|
超出配额。 |
|
对于收到的数据,安全验证未成功。 |
|
Windows Web Services 框架中的安全操作失败。 |
|
服务器拒绝了安全令牌,因为它已过期。 |
|
HTTP 代理服务器需要 HTTP 身份验证方案“basic”。 |
|
HTTP 代理服务器需要 HTTP 身份验证方案“digest”。 |
|
HTTP 代理服务器需要 HTTP 身份验证方案“协商”。 |
|
HTTP 代理服务器需要 HTTP 身份验证方案“NTLM”。 |
|
远程终结点需要 HTTP 身份验证方案“基本”。 |
|
远程终结点需要 HTTP 身份验证方案“digest”。 |
|
远程终结点需要 HTTP 身份验证方案“协商”。 |
|
远程终结点需要 HTTP 身份验证方案“NTLM”。 |
|
根据当前系统时钟或签名文件中的时间戳进行验证时,所需的证书不在有效期内。 |
|
证书 CN 名称与传递的值不匹配。 |
|
已处理的证书链,但在信任提供程序不信任的根证书中终止。 |
|
该证书对于请求的用法无效。 |
|
吊销功能无法检查吊销,因为吊销服务器已脱机。 |
|
内存不足。 |
|
一个或多个参数无效。 |
|
此函数可能会返回上面未列出的其他错误。 |
注解
消息的开头(包括消息中存在的当前标头集)将写入通道。
此函数类似于 WsWriteEnvelopeStart ,但与通道一起使用。
消息必须处于 WS_MESSAGE_STATE_INITIALIZED 状态。 成功后,消息将转换为 WS_MESSAGE_STATE_WRITING 状态。
若要序列化消息正文的元素,请使用 WsWriteBody。 若要直接写入消息的 XML 编写器,请先使用 WS_MESSAGE_PROPERTY_BODY_WRITER 属性获取读取器。
如果通道输出 (WS_STREAMED_OUTPUT_TRANSFER_MODE) 流式传输,则必须调用 WsFlushBody 来实际传输正文的每个部分。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |