axis2/rampart の最新バージョンにアップグレードしたところ、ユーザー名とパスワードによる認証が必要な Web サービスを提供するときに奇妙な動作が発生しました。
これまで、WSPasswordCallback.USERNAME_TOKEN_UNKNOWN タイプの WSPasswordCallback を処理する独自の passwordcallback-handler を実装しました。指定されたユーザーをDBで検索し、指定されたパスワードを確認しました。
最新バージョンでは、 passwordcallback-usage は常に WSPasswordCallback.USERNAME_TOKEN のように見えますが、指定されたユーザーのパスワードを提供する必要がありますが、パスワードをプレーンテキストで保存していないため、パスワードを提供できません。独自の org.apache.ws.security.validate.UsernameTokenValidator を作成する必要がありますか? どこに登録すればいいですか?