Apache HttpClient UrlEncodedFormEntity限制大小

时间:2011-12-20 20:46:38

标签: java apache httpclient tomcat6

我正在使用Apache HttpClient连接WS。一切正常,但是当应用程序试图发送一个大尺寸的帖子时,它会破坏。

我正在注意这样的HttpClint:

  • 将XML发布到REST WS
  • 这篇文章是一个String,字符串是一个映射为XML的对象。
  • 我正在使用UrlEncodedFormEntity将xml参数传递给网址

当HttpClient从WS端发送contetn时,带有XML的参数为空。 我发送了xml发送的时间,并且没问题,我的意思是正确创建了XML。

如果xml的大小较小,那么它可以正常工作。 它的行为就像HttpClient有一个限制大小的帖子或UrlEncodedFormEntity。

任何想法? 感谢。

3 个答案:

答案 0 :(得分:0)

如果要发布XML文件,则不应使用UrlEncodedFormEntity,应将FileEntity与XML文件一起使用。这样您就可以避免UrlEncodedFormEntity限制。

答案 1 :(得分:0)

UrlEncodedFormEntity并未对内容长度施加任何限制,但许多HTTP服务器确实会这样做,因为“application / x-www-form-urlencoded”内容通常会在内存中缓冲在服务器端。

答案 2 :(得分:0)

感谢您的帮助,解决方案很简单:限制在Tomcat中,因为默认情况下maxPostSize参数是2MB(我的意思是如果它不存在于server.xml中的连接器标记处),所以我将其更改为15MB。我找到了协议HTTP的标签连接器,并为!5Mb添加了属性maxPortSize =“15728640”,它运行正常!!!!