推送通知故障排除

WNS 通道请求错误

如果 CreateChannelAsync 调用失败,这些是常见的 HRESULTS 以及建议的操作。

HRESULT 定义 说明
0x880403E8L WNP_E_NOT_CONNECTED 重试后,应用未连接到 WNS 服务器。
0x880403E9L WNP_E_RECONNECTING 应用正在重新连接到 WNS 服务器。 请几分钟后再次尝试请求 channelURI。
0x880403FEL WNP_E_BIND_USER_BUSY WNS 客户端与 WNS 服务器存在连接问题。 请几分钟后再次尝试请求 channelURI。

WNS HTTP 响应代码

HTTP 响应代码 说明 建议的操作
200 正常 WNS 已接受通知。 不需要。
400 错误的请求 错误地指定了一个或多个标头,或者指定的标头与另一个标头冲突。 记录请求的详细信息。 检查请求并与此文档进行比较。
401 未授权 云服务未提供有效的身份验证票证。 OAuth 票证可能无效。 通过使用访问令牌请求对云服务进行身份验证来请求有效的访问令牌。
403 禁止访问 即使已通过身份验证,云服务也无权向此 URI 发送通知。 请求中提供的访问令牌与请求通道 URI 的应用的凭据不匹配。 确保应用清单中的包名称与仪表板中提供给应用的云服务凭据相匹配。
404 未找到 通道 URI 无效或未被 WNS 识别。 记录请求的详细信息。 不要向此通道发送更多的通知;发送到此地址的通知将会失败。
不允许 405 方法 方法(GET、CREATE)无效;只允许 POST 记录请求的详细信息。 请改用 HTTP POST。
406 不可接受 云服务超出了其限制。 记录请求的详细信息。 降低发送通知的频率。
410 不存在 通道已过期。 记录请求的详细信息。 不要向此通道发送更多的通知。 让应用请求新的通道 URI。
413 请求实体太大 通知有效负载超出了 5000 字节大小限制。 记录请求的详细信息。 检查有效负载,确保它在大小限制范围内。
500 内部服务器错误 某个内部故障导致通知传送失败。 记录请求的详细信息。 在 Windows 应用 SDK 问题中使用通知标签报告此问题。
503 服务不可用 服务器当前不可用。 记录请求的详细信息。 在 Windows 应用 SDK 问题中使用通知标签报告此问题。