【发布时间】:2017-10-09 14:14:42
【问题描述】:
我正在尝试访问 SOAP 服务以从 URL 获取数据。我已经成功配置了 SOAP 服务。 我正在运行以下方法从 SOAP 服务获取响应
soapResponse = soapConnection.call(SoapMsg, endPoint);
soapResponse.writeTo(fileName);
但我在收到响应时出现 OutOfMemory 异常
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236) ~[na:1.8.0_131]
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118) ~[na:1.8.0_131]
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) ~[na:1.8.0_131]
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) ~[na:1.8.0_131]
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.readFully(HttpSOAPConnection.java:553) ~[na:1.8.0_131]
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:318) ~[na:1.8.0_131]
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:145) ~[na:1.8.0_131]
因此,我想通过在检索整个响应之前将响应分成更小的块来写入文件。知道如何以这种方式配置它吗?
提前致谢。
【问题讨论】:
标签: java xml web-services soap