diff --git a/org.springframework.web/src/main/java/org/springframework/http/client/BufferingSimpleClientHttpRequest.java b/org.springframework.web/src/main/java/org/springframework/http/client/BufferingSimpleClientHttpRequest.java index aea688719ba..d6f8ecc3755 100644 --- a/org.springframework.web/src/main/java/org/springframework/http/client/BufferingSimpleClientHttpRequest.java +++ b/org.springframework.web/src/main/java/org/springframework/http/client/BufferingSimpleClientHttpRequest.java @@ -65,10 +65,17 @@ final class BufferingSimpleClientHttpRequest extends AbstractBufferingClientHttp this.connection.addRequestProperty(headerName, headerValue); } } + + if (this.connection.getDoOutput()) { + this.connection.setFixedLengthStreamingMode(bufferedOutput.length); + } + this.connection.connect(); - if (bufferedOutput.length > 0) { + + if (this.connection.getDoOutput()) { FileCopyUtils.copy(bufferedOutput, this.connection.getOutputStream()); } + return new SimpleClientHttpResponse(this.connection); }