質問編集履歴

1

エラーの詳細についての調査結果の追記

2015/02/18 08:30

投稿

whitehorse_1439
whitehorse_1439

スコア6

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,37 @@
81
81
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
82
82
 
83
83
  ```
84
+
85
+ 2015.2.18
86
+
87
+ ソースを解析したところ、XMLパーサーで使用しているTextBuffer内で、読み込んだ要素をStringに
88
+
89
+ 変換するところで発生していました。
90
+
91
+ ```lang-<java>
92
+
93
+ char[] curr = new char[oldLen + (oldLen >> 1)];
94
+
95
+ ```
96
+
97
+ ※以下の場所でも落ちることがあります。
98
+
99
+ ```lang-<java>
100
+
101
+ StringBuffer sb = new StringBuffer(segLen + currLen);
102
+
103
+ ```
104
+
105
+
106
+
107
+ どちらも、<data>タグ内の要素をすべて変数に格納しようとして、メモリを使い切っているのですが、
108
+
109
+ 今回のデータ構造として、Base64にされたバイナリ情報が連携される為、順次処理などで
110
+
111
+ 出力しないと、どうやってもメモリ不足は回避できないと思っております。
112
+
113
+
114
+
115
+ どなたか、Axis2を使用してSOAPエンベロープ内の情報を順次処理でファイルなどに
116
+
117
+ 出力する方法をご存じの方はいらっしゃいますでしょうか?