Apache camel 如何通过Camel cxfrs使用者设置web服务响应的内容类型标头?

Apache camel 如何通过Camel cxfrs使用者设置web服务响应的内容类型标头?,apache-camel,cxf,content-type,Apache Camel,Cxf,Content Type,我有一个骆驼路线,cxfrs消费者提供web服务。客户端可以请求一个文档,而响应包含一个二进制文件形式的文档或XML格式的错误。在创建响应的路由中,我在exchange上手动设置内容类型头。但是,根据客户端的“Accept”头,camel或cxf会用“application/xml”覆盖我的内容类型“application/octet stream”。如何防止标题被覆盖 没有Accept头,或者如果它看起来像这样,那么一切都按照它应该的方式工作:“application/octet stream

我有一个骆驼路线,cxfrs消费者提供web服务。客户端可以请求一个文档,而响应包含一个二进制文件形式的文档或XML格式的错误。在创建响应的路由中,我在exchange上手动设置内容类型头。但是,根据客户端的“Accept”头,camel或cxf会用“application/xml”覆盖我的内容类型“application/octet stream”。如何防止标题被覆盖

没有Accept头,或者如果它看起来像这样,那么一切都按照它应该的方式工作:“application/octet stream,application/xml” Chrome默认发送此消息,这会导致错误响应:“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed exchange;v=b3;q=0.9”

这是我的服务接口定义:

@Path("/foo")
public interface Foo {
    
    @Path("/getdocument")
    @Produces({MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_XML})
    public Byte[] getDocument(@QueryParam("itemId") String itemId);
    
}