0

这是我想通过 HttpPost 发送到服务器的 Json 格式

{
    "key1":"value2",             
    "key2":"value2" ,
    "key3":"value3",
    "key4":"value4",
    "key5":[
     {"key5.1.1":"value5.1.1"},
     {"key5.2.1":"value5.2.1"},
     {"key5.3.1":"value5.3.1"},
     {"key5.4.1":"value5.4.1"}
    ]   
}

对于较小的 Json,它工作正常,但问题是当 key5 的 jsonarray 增加它抛出异常的大小时。那么我们如何使用 Http Post 将大的 JSON 字符串发送到服务器呢?

我正在使用 maven 和 Jboss7.1.1.Final 。

我需要在 jboss 配置中进行任何更改以接受大长度的 JSON 对象吗?

也正在使用 Webservice 客户端通过 HttpPost 使用以下字符串格式发送上述数据。

HttpPost request = new HttpPost(BASE_URL + SEND_URL + "/" + URLEncoder.encode(new Gson().toJson(input)));       
request.addHeader("content-type", "application/x-www-form-urlencoded");
HttpResponse response = httpClient.execute(request);

并且它仅对更大长度的 Json String 引发错误

java.net.SocketException:在 org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149) 在 org.apache.http 的 java.net.SocketInputStream.read(SocketInputStream.java:168) 连接重置.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110) 在 org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264) 在 org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine (LoggingSessionInputBuffer.java:115) 在 org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)

我检查了以下链接,但没有得到解决方案

JSON对象最大大小?

也根据http://geekswithblogs.net/frankw/archive/2008/08/05/how-to-configure-maxjsonlength-in-asp.net-ajax-applications.aspx JSON不限制其Jboss的大小

4

0 回答 0