ユーザー名とパスワードによる認証でプロキシを使用するのが好きです。ESB を通過するすべてのメッセージは、ESB に対して認証されたユーザーを含め、データベースに保存する必要があります。プロキシでユーザー名を取得する方法はありますか? たとえば、メッセージ ID を取得できることはわかっていますが、ユーザー名を取得するための解決策が見つかりませんでした。
多分あなたは私を助けることができます:)
$header を使用してヘッダー情報にアクセスすると機能します。次の例のように、xPath を取得してユーザー名を抽出するだけです。
<property xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" name="user" expression="$header/wsse:Security/wsse:UsernameToken/wsse:Username"/>
ここにある ESB ドキュメントからヘルプを得ることができると思います http://docs.wso2.org/wiki/display/ESB460/HTTP+Basic+Authentication+over+a+Proxy+Server
プロキシ サービスでユーザー名トークンまたは基本認証が保護されると、メッセージ認証が成功すると、ユーザー名を取得できます。ユーザー名は、"username" というプロパティを使用して、axis2 メッセージ コンテキストから取得できます。プロパティ メディエーター (スコープは axis2) または単純なクラス メディエーターを使用できます。
ユーザー名トークン (つまり、ユーザー名/パスワード) を使用してプロキシを保護できます。サービス ダッシュボード --> セキュリティ オプションに移動すると、ユーザー名トークンを有効にするツールが見つかります。そのように保護した場合は、リクエストで基本認証ヘッダーを送信する必要があります。