CXF OSGi捆绑包-针对CXFServlet注册筛选器?

CXF OSGi捆绑包-针对CXFServlet注册筛选器?,osgi,cxf,single-sign-on,servlet-filters,josso,Osgi,Cxf,Single Sign On,Servlet Filters,Josso,我已经将CXF OSGi捆绑包部署在一个karaf容器上,每个容器有几个端点,每个端点都在自己的捆绑包中。端点是JAX-RS和JAX-WS风格的混合体。我想使用JOSSO在端点上启用一些安全性,并且需要注册一个servlet过滤器来实现这一点。显然,由于没有web.xml来声明过滤器,我需要在OSGi服务注册表中注册它们 我尝试使用PaxWebHTTP白板注册过滤器,但从未调用doFilter方法。我注意到分布式OSGI cxf实现有一个条款,用于在过滤器上将org.apache.cxf.htt

我已经将CXF OSGi捆绑包部署在一个karaf容器上,每个容器有几个端点,每个端点都在自己的捆绑包中。端点是JAX-RS和JAX-WS风格的混合体。我想使用JOSSO在端点上启用一些安全性,并且需要注册一个servlet过滤器来实现这一点。显然,由于没有web.xml来声明过滤器,我需要在OSGi服务注册表中注册它们


我尝试使用PaxWebHTTP白板注册过滤器,但从未调用doFilter方法。我注意到分布式OSGI cxf实现有一个条款,用于在过滤器上将org.apache.cxf.httpservice.filter属性设置为true,并为servlet名称指定一个伪字符串,以免混淆pax web白板。对于标准的CXF非分布式OSGi捆绑包,我可以做一些类似的事情来注册servlet过滤器吗?

经过大量挖掘,我能够使用Felix+PAX Web为CXF servlet设置过滤器。诀窍是从CXF包中注册过滤器。每个包都有一个不同的http上下文

在我的代码中,我获取了名为getBundles的捆绑包上下文,找到了cxf捆绑包并获得了cxf捆绑包的捆绑包上下文。然后,我在CXF包的上下文中注册了过滤器。我现在觉得很脏,但它管用

我记得曾经看到过一个建议,创建一个fragement包来配置PAX的Jetty服务器,这可能也适用于注册一个过滤器——但是我不想在当前的项目中创建另一个工件