具有字节范围参数/ MessageContext的Apache CXF REST服务

时间:2013-04-10 09:29:06

标签: spring rest cxf

好吧,不知怎的,我感到愚蠢,必须有一些明显我不知道的东西......

我正在使用Apache CXF(2.7.x)来提供一个包含检索某些视频数据的方法的宁静服务。有些客户端需要能够使用字节范围进行请求。我需要知道的第一件事是客户端实际请求的字节范围,所以我想我会看一下http标头。 据我所知,我需要做的就是将MessageContext作为资源放在我的服务类中:

@Resource
MessageContext ctx;

问题是,这失败了,因为没有这样的bean:

Injection of resource dependencies failed; nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No matching bean of type [org.apache.cxf.jaxrs.ext.MessageContext] found for dependency

在我的春季配置中,我有以下内容:

<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

在某处我读到不再需要cxf-extension-jaxrs-binding.xml,据我所知,这个文件甚至不存在于我的依赖项中。

那我在这里错过了什么? 或者是否有另一种方法来支持字节范围请求?

1 个答案:

答案 0 :(得分:0)

好的,用

解决了
MessageContext ctx = new MessageContextImpl(PhaseInterceptorChain.getCurrentMessage());

我不确定这是否是一个很好的解决方案,但它确实有用。