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 マルチパート サポート コーデックがありますが、応答ではなくマルチパート リクエスト専用のようです。