Play FrameworkのWSClient
APIを使用してWebサービスを呼び出そうとしています。 主な問題は、最大のペイロードサイズを超えずに、巨大なJSONペイロード(2MB以上)を転送することです。Play FrameworkのWSClientからのgzipリクエスト
これを行うには、gzip(HTTPヘッダーContent-Encoding: gzip
)を使用してリクエストを圧縮します。 documentationには、パラメータplay.ws.compressionEnabled
が記載されていますが、WSResponse圧縮のみが有効になっているようです。
GZipOutputStreamを使用してペイロードを手動で圧縮し、ヘッダーをContent-Encoding:gzip
に設定しようとしましたが、サーバーがio.netty.handler.codec.compression.DecompressionException : Unsupported compression method 191 in the GZIP header
をスローしました。
リクエストを正しく圧縮するにはどうすればよいですか?事前
私は、これを有効にするためにWSClientを設定できるとは思っていますが、100%ではありませんでした。https:// wwwで 'play.ws.compressionEnabled'を参照してください.playframework.com/documentation/2.5.x/JavaWS#設定 - WS – Nio