について Google で何も情報を得られなかったことに驚きました"org.apache.cxf.resource.method"
。ただし、それを使用する多くのインターセプターがあります (私が与えられたコードで)。
たとえば、これは(カスタムでFaultOutInterceptor
):
private boolean isServiceResponseRequested(Message message) {
Method method = (Method) message.getExchange().getInMessage()
.get("org.apache.cxf.resource.method");
if (method != null) {
Class c = method.getReturnType();
if (c != null) {
if (c.getSimpleName().equals(
ServiceResponse.class.getSimpleName())) {
return true;
}
}
}
return false;
}
AbstractAuthorizingInInterceptorにも参照があります。
" " の意味org.apache.cxf.resource.method
と、それをどこでどのように ' set
' するかを説明してくれる人はいますか?
編集: 目的を達成するためのハックとして、これは私がやったことです:
inInterceptor
forを書き、 inと inPhase.PRE_STREAM
で構成しましたjaxrs:inInterceptors
handleMessage(Message message)
{
Message inMessage = message.getExchange().getInMessage();
Method appMethod = //Logic to determine the method based on the request Url
inMessage.put("org.apache.cxf.resource.method", appMethod);
}
それは私に望ましい結果をもたらしますが、それは完全にハックであり、実際には正しく見えません。コメントはありますか?