技术文章 - CS431137
在 ThingWorx Mashup 中,使用“自动更新值”选项的 GetProperties 函数无法正确处理用户会话超时后的重新连接,并返回错误“拒绝 NonceKey [<Key ID>因为缓存中没有找到它”
已修改: 04-Feb-2026
适用于
- ThingWorx Platform 9.3
说明
- 用户会话超时或平台重启后,启用“自动更新值”选项的GetProperties 函数无法正确处理重新连接。
- 安全日志中充斥着
Rejecting NonceKey [<Key ID>] since it was not found in cache”的错误信息。 - 重新连接后,混音程序每秒都会调用一次(甚至更频繁):
- /Thingworx/Resources/EntityServices/Services/GetClientNonce返回空响应
- /Thingworx/WS带有过时的 nonce / appkey
- /ThingworxStorage/logs/SecurityLog.log文件反复报告以下警告信息:
[L: WARN] [O: SctsmApplicationKeyManager] [I: ] [U: ???] [S: ] [P: ] [T: https-jsse-nio-443-exec-129] *** ApplicationKey not found *** [L: ERROR] [O: SctsmNonceKeyManager] [I: ] [U: ???] [S: ] [P: ] [T: https-jsse-nio-443-exec-129] Rejecting NonceKey [<Key ID>] since it was not found in cache
- 具体行为取决于浏览器供应商以及是否使用单点登录 (SSO):
- Chrome + 基本身份验证(MacOS 上不显示身份验证对话框)
- GetClientNonce函数每秒调用一次,并且会弹出一个新的基本身份验证对话框,直到提供凭据为止。
- Firefox + 基本身份验证
- GetClientNonce函数调用一次后,会弹出基本身份验证对话框,并且 Mashup 会暂停运行,直到提供凭据为止。
- 所有浏览器 + 单点登录:
- Chrome + 基本身份验证(MacOS 上不显示身份验证对话框)
这是文章 431137 的 PDF 版本,可能已过期。最新版本 CS431137