0

我担心通过 SOAP 处理大 xml。在 Axis 中,Axis 本质上是 Apache SOAP 3.0。它是一个从头开始的重写,围绕流模型设计(在内部使用 SAX 而不是 DOM)。目的是创建一个更模块化、更灵活和更高性能的 SOAP 实现(相对于 Apache SOAP 2.0)。 http://axis.apache.org/axis/faq.html

你能告诉我 cxf 如何在内部处理 SOAPMessages。它是否使用 SAX 而不是 DOM。如果不是,我认为对于 BI XML 的 AXIS 将是一个更好的选择......?

其次,我看到 javax.xml.soap.SOAPPart 实现了 Document、Node。这是否意味着无论 SOAP 实现如何,DOM 都将始终被创建。

谢谢

4

1 回答 1

1

在这一点上,Axis2 几乎没有什么可以做,而 CXF 做不到同样好或更好。CXF 还在内部使用 StAX 来处理传入的消息。

也就是说,您提到了 SOAPPart。这些是 SAAJ 的事情。如果您放弃使用 SAAJ 模型进行处理,那么流式传输将被破坏,因为 SAAJ 模型需要将整个事物拉入内存。在大多数情况下,CXF 会尽量避免 SAAJ,除非它是必需的(JAX-WS 处理程序需要它,WS-Security 当前需要它)。

于 2013-10-14T14:37:24.843 回答