0

私は apache.cxf webClient を使用しています。投稿 API でファイルをアップロードしようとしていますが、応答でアップロードされたファイル パスを取得しようとしています。post メソッドを呼び出しています。

PostResponse response =webClient.post(attachments,PostResponse.class);
webClient.reset();
return response;

応答を取得した後、応答を他のメソッドに返しています。その方法では、応答でいくつかの値を読み取っています。

String path=response.getPath();

すべて正常に動作します。ファイル サイズが 10 kb 未満の場合、ファイルをアップロードしてパスを読み取ることができます。

しかし、サイズが 500 kb 程度になると、ファイルをアップロードできません。例外「SocketException - 接続のリセット」が発生しています。

クライアント設定を次のように変更しました

webClient.connection.timeout.msecs=600000
webClient.receive.timeout.msecs=600000
webClient.connection.keepalive=true

しかし、これもあまり役に立ちませんでした。問題はこの行「webClient.reset();」にあると思われます。. そうですか?クライアントをリセットした後、応答から読み取ることは想定されていませんか? ただし、このコードは、ファイル サイズが小さい場合に機能します。これが問題である場合、次のようなコード変更を行いますか

webClient.reset();
//Set the end points all others here
PostResponse response =webClient.post(attachments,PostResponse.class);
return response;

接続の問題について他の理由が疑われる場合は、お知らせください。前もって感謝します 。

4

0 に答える 0