CXF WebClient会覆盖HTTP Content-Type

时间:2011-07-28 17:02:14

标签: http-headers client cxf

我正在尝试充当第三方Web服务的代理,并且需要转换REST请求。我遇到的一个问题是,无论我做什么,Content-Type标题似乎都被覆盖了。代码实际上非常简单(上下文是@Context MessageContext 变量):

WebClient client = WebClient.create(url)
    .header("real-header-removed", "auth-string-removed")           
    //.header("Content-Type", context.getHttpHeaders().getMediaType().toString());
    .type(context.getHttpHeaders().getMediaType());

Response resp = client.get();
return (InputStream)resp.getEntity();

.header和.type都不起作用。请求的tcpmon输出是:

Content-Type: */*
real-header-removed: auth-string-removed
Accept: application/xml
User-Agent: Apache CXF 2.3.5
Cache-Control: no-cache
Pragma: no-cache

如何避免Content-Type覆盖(或者更确切地说,为什么呢? 发生了什么?)

1 个答案:

答案 0 :(得分:0)

我需要使用client.invoke(“GET”,“”);