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 を使用しています。

長い JSON オブジェクトを受け入れるために jboss 設定で行う必要がある変更はありますか?

また、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文字列に対してのみエラーをスローします

java.net.SocketException: org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149) の java.net.SocketInputStream.read(SocketInputStream.java:168) で接続がリセットされました。 org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264) の .impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110) 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