1

我目前正在使用 Axis 2 实现在 Bea Websphere 6.1 环境中开发 WebService,我正在尝试尊重 Web 服务的当前标准(JAXB、JAXWS、StAX ...)。

在这个平台上,一条 XML 消息可以存在多长时间?

我四处搜索,但没有找到与该主题相关的任何内容。

4

2 回答 2

1

不太了解您所在平台的限制,但总的来说,没有硬性限制。将 Axis 与标准 SOAP 堆栈一起使用将采用 SOAP 信封并在内存中创建它的表示形式(dom 或类似 dom),从而限制了堆大小。如果使用非常大的 XML,更好的方法是使用 STaX,它是一个 XML 流解析器库。这将消除您可能使用或创建的 XML 大小的所有限制。

于 2008-10-27T16:00:43.553 回答
0

是的,由于 Jax-ws 和 SOAP 的工作方式,整个有效负载被绑定:要么绑定到树(更高的内存使用)或 POJO/bean(更低的内存使用)。无论哪种方式,内存使用量都与消息大小成正比。

尽管理论上可以为 Soap 处理创建流式传输/分块接口,但实现起来并非易事,目前还没有堆栈这样做。

于 2009-02-10T03:35:32.637 回答