コンテンツ エンジン ストレージからデータを取得する REST サービスを開発しました。簡単にするために、次のコードを使用して、読み取り専用権限を持つユーザー アカウントを作成し、それを CE 承認に使用しました。
UserContext context = UserContext.get();
Connection connection = Factory.Connection.getConnection("connection.url");
Subject subject = UserContext.createSubject(connection, "connection.username", "connection.password", "connection.stanza");
context.pushSubject(subject);
開発中にローカル Tomcat サーバーでサービスをテストしたところ、すべて正常に動作しました。ContentEngine が配置されている Websphere Application Server にそのサービスをデプロイしました。REST サービスにアクセスしようとすると、次の例外が発生します。
エラー 500: org.springframework.web.util.NestedServletException: リクエストの処理に失敗しました。ネストされた例外は com.filenet.api.exception.EngineRuntimeException: FNRCS0005E: SECURITY_INVALID_CREDENTIALS: Content Engine API ライブラリーまたは Web サービス・インターフェース (WSI) リスナーが必要なセキュリティー・コンテキスト情報を見つけられなかったため、Content Engine へのアクセスは許可されませんでした。予期された資格情報がセキュリティ コンテキストで見つかりませんでした。
このアプローチを機能させるには、WAS に追加の構成が必要ですか? それとも、承認の問題に対処するためのより良いアプローチが存在するのでしょうか?