Web服务响应转换问题

时间:2014-04-05 14:44:56

标签: java web-services

我正在使用' n'我系统中的Web服务数量。我很好照顾。但是,最近几天我只是在处理一个外部系统的响应时看到了一种奇怪的行为。

这是我的问题,

当我请求我的下游系统之一获取数据时,我得到一个非常大的xml响应。在解析系统中的响应期间,完整的JAVA线程本身比配置的时间更多。因此,对于临时修复,我们请求下游系统限制响应。

但是,这是怎么回事?无论数据有多大,都应该完成正确的过程。

所以我可以知道这个问题的根本原因是什么?

1 个答案:

答案 0 :(得分:0)

如果要解组,则整个XML将转换为包含XML中指定的所有对象的一个​​对象图。因此,XML越大,生成的对象图越大。当然,这需要更多的内存,可能比你的应用程序的处理更多,这可能导致OutOfMemoryException。 如果收到的XML包含某种项目列表,您可以考虑逐项处理它。您将一次阅读一个项目,然后处理并处理它。然后,您只需要大量的内存即可将一个项目的对象图形放入内存中。但要做到这一点,您必须重写处理代码以使用像SAX这样的库。