我们使用的是CXF 3.x,项目有类MyFeature extends AbstractFeature
和`MyFilter扩展OAuthRequestFilter。
在MyFeature
的MyFilter
类对象内部创建为MyFilter myFilter = new MyFilter (classObj);
,其中classObj
是类的对象,需要在其上应用过滤器。
当我点击端点时,它会将错误抛出为403。
此外,当我使用调试器和LOG消息时,我开始知道内部文件org.apache.cxf.interceptor.security.AbstractAuthorizingInInterceptor
(cxf-core版本3.0.4.redhat-621159)有功能getTargetMethod
和内部的方法评估BindingOperationInfo
和m.get("org.apache.cxf.resource.method")
即将到来的null
,由于这个我得到了403。
注意:我们使用osgi(jboss)bundle作为部署策略。
由JAXRSInInterceptor
执行的过滤器位于unmarshal
州。在这个状态org.apache.cxf.resource.method
仍然是null
。我在状态PRE_STREAM
中创建了拦截器,那时org.apache.cxf.resource.method
为你提供了应该执行的正确名称。