1

我使用 AsyncHttpClient 和 Netty 提供程序来获取响应正文。它适用于大多数响应,问题在于多部分 ContentType。例如,此响应:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:2dfd79bd-bdd5-4e15-bf4a-d08b63918c37"; start="<root.message@cxf.apache.org>"; start-info="text/xml";charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 20 Mar 2015 13:09:50 GMT

--uuid:2dfd79bd-bdd5-4e15-bf4a-d08b63918c37
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>

<soap:Envelope></soap:Envelope>

我的客户使用getResponseBody方法。返回值为:

--uuid:2dfd79bd-bdd5-4e15-bf4a-d08b63918c37
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>

<soap:Envelope></soap:Envelope>

NettyResponse 完全忽略Content-Type: multipart/related标头并清除标头。返回的正文仍然包含响应的各个部分的标题,没有关于 ContentType 和边界的信息(它已经被剥离了)。

Netty 是否确实缺乏对多部分响应的支持?还是我错过了什么?

编辑:有一个HTTP 多部分支持编解码器,但似乎只用于多部分请求,而不是响应。

4

0 回答 0