特定のアノテーションのターゲットサービス/メソッドを検査し、そのアノテーションに対して特別な処理を行うApache CXF JAX-RS実装用のインターセプタを作成したいと思います。CXFインターセプタからターゲットサービス/メソッドを決定する
これを行う方法を説明するインターセプタのドキュメントに何も見当たりません。誰にもアイデアはありますか?
ありがとうございます!あなたができるようにバインドされたメソッドを与える必要があります
Exchange exchange = msg.getExchange();
BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
MethodDispatcher md = (MethodDispatcher)
exchange.get(Service.class).get(MethodDispatcher.class.getName());
Method meth = md.getMethod(bop);
:
サブリソースを使用している場合、これは間違った結果を返します!返されたORIは、サブリソースロケータメソッドを選択するために使用されるものですが、acutalハンドラメソッドではありません –
メソッド名が必要な場合は、 'operationResInfo.getMethodToInvoke()。getName(); 'を使用するだけで完全に動作します。 –
ifあなたは 'operationResInfo.getMethodToInvoke()。getDeclaringClass()'を使用してクラスを必要とします。 – fafl