1

我最近为 WebSphere 应用程序实现了 LTPA (LDAP) 身份验证。此后,我在尝试对不同域上的端点进行 Web 服务调用时看到以下错误:

<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>java.io.IOException: Unable to deserialize the Subjects in this Context, cause: SecurityName is null</faultstring>
</soapenv:Fault>

该错误是间歇性的,迄今为止我还无法可靠地重现它。在线记录了类似的问题,但这些问题似乎提供了有关给定错误的更多信息 - 我一直无法找到有关此特定错误的任何信息。

谁能建议这里可能存在什么问题?

4

1 回答 1

0

这里的问题实际上很简单。该错误消息Unable to deserialize the Subjects in this Context, cause: SecurityName is null意味着 WebSphere 正在尝试反序列化以前保存的安全上下文。该过程失败,因为使用 LTPA 令牌的认证需要参数,例如SecurityName. 此错误消息也应记录在 SystemOut.log 文件中,通常间隔为 1 或 2 分钟。

正确解决错误需要有关您的服务器环境的更多信息。假设它是 WAS-ND 设置,您可以关闭节点并使用syncNode.sh命令手动同步配置。这应该可以解决问题。

于 2016-06-12T14:41:51.373 回答