6

ログファイルを汚染しているグラスフィッシュの迷惑なメッセージの原因を突き止めようとしています.

セットアップを簡素化するために、3.1.2.2 を実行する 2 つの glassfish サーバーがあります。

サーバー A には Web サービスがデプロイされており、Web サービスの役割と、sun-ejb-jar.xml および sun-application.xml のマッピングを使用して定義された証明書ベースのセキュリティを使用しています。

サーバー B にはリモート EJB がデプロイされており、セキュリティは構成されていません。

次のようなコードを使用して、サーバー A の Web サービスからサーバー B のリモート EJB を呼び出す場合:

Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", server.getServer());
props.setProperty("org.omg.CORBA.ORBInitialPort", Integer.toString(server.getEjb3Port()));
InitialContext ic = new InitialContext(props);

return ((MyIF)ic.lookup(MyIF.class.getName())).doWork();

サーバー A のログには次のログが記録されますが、EJB 呼び出しは期待どおりに機能します。

[#|2012-09-20T08:43:42.141+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.iiop.security|_ThreadID=26;_ThreadName=Thread-2;|IIOP1002: Principal propagation: Cannot find principal information in subject|#]

このエラーの経験があり、この問題を解決する方法を知っている人はいますか?

メッセージに関するOracle ドキュメントはあまり役に立ちません。

IIOP1002 プリンシパルの伝播: サブジェクトにプリンシパル情報が見つかりません

原因: サブジェクトにプリンシパル情報が見つかりません。

処置: ID伝播の構成設定を確認してください

4

1 に答える 1