我有一个使用 j2ee 安全性的 j2ee Web 应用程序,因此用户的身份从 WebSEAL 传播到在 WAS7 中运行的应用程序。我现在正在尝试进行 SOAP Web 服务调用并在该 Web 服务调用中传播用户身份。为此,我使用 WSSubject 调用获取 LTPA (WSCredential) 和 LPTA2 (SingleSignOnToken) 并将它们附加到使用的 webservices 调用。
bp.getRequestContext().put(Constants.REQUEST_TRANSPORT_PROPERTIES,sendTransportHeaders);
其中 bp 是我的 BindingProvider。这一切都应该工作。但是当我进行网络服务调用时,我得到了这个异常。
Cause =java.io.IOException: Unable to deserialize the Subjects in this Context
我查看了 LTPA 令牌中的字段,一切似乎都正确(令牌和我正在调用的 j2ee 安全领域 web 服务之间的领域相同,令牌是可转发的,等等),我在网上找不到太多关于这个错误的信息,除了(这似乎是一个不相关的情况)尝试将其传递到 EJB 时的情况以及领域不匹配的情况。
有任何想法吗?谢谢。