1

私は j2ee セキュリティーを使用する j2ee Web アプリケーションを持っているので、ユーザーの ID は WebSEAL からアプリケーションに伝搬され、WAS7 で実行されます。私は今、SOAP Web サービス呼び出しを行い、その Web サービス呼び出しでユーザー ID を伝達しようとしています。これを行うには、WSSubject 呼び出しを使用して LTPA (WSCredential) と LPTA2 (SingleSignOnToken) を取得し、それらを webservices 呼び出しにアタッチします。

bp.getRequestContext().put(Constants.REQUEST_TRANSPORT_PROPERTIES,sendTransportHeaders);

ここで、bp は私の BindingProvider です。これですべてうまくいくはずです。しかし、Web サービス呼び出しを行うと、この例外が返されます。

Cause =java.io.IOException: Unable to deserialize the Subjects in this Context

LTPA トークン内のフィールドを調べたところ、すべてが正しいように見えます (トークンと呼び出している j2ee セキュリティ レルム Web サービスの間のレルムが同じである、トークンが転送可能であるなど)。 (無関係と思われる) EJB に渡そうとするケースと、レルムが一致しないケースが 1 つあります。

何か案は?ありがとう。

4

2 に答える 2

3

ここで何をしようとしているのかを明確に説明できますか?

同じことを達成するためにいくつかのコードを作成しようとするのではなく、構成だけで LTPA トークンを透過的に渡すことができるはずです。

別の WebSphere サーバーへの Web サービス呼び出しを行う Web アプリケーション。

これをざっと読んでください。 http://www.ibm.com/developerworks/websphere/techjournal/0607_desprets/0607_desprets.html

WAS7 の内容は、WAS V6 と非常に似ているはずです。

HTH

マングル

于 2011-10-11T03:22:54.647 に答える
0

@jeffsix: ある websphere サーバーで実行されているアプリケーションから別の websphere サーバーの別のアプリケーションへの webservice 呼び出しを行おうとしていますか? LTPA 鍵が両方のサーバーで同じであることを確認してください。

于 2011-10-11T11:44:56.560 に答える