关于Java中肥皂处理的任何消息?

jav*_*nna 6 java xml soap

我和Axis和Saaj合作了几年,然后我转向spring-ws,我更喜欢它,因为它更像xml.然后我将所有项目切换到公理,因为saaj存在严重的性能问题.我以后再遇到一些问题,特别是与命名空间处理(AXIOM-114SWS-502)有关,无论如何我已经使用spring-ws和axiom两年了.

由于我并不完全满意,我实际上正在寻找任何其他库.有什么建议?

我知道谷歌是我最好的朋友,但这是一个微妙的问题,所以我想知道你的经历.实际上,用Java处理soap消息的最佳库是什么?

我可以根据自己的需要编写自己的库,但我认为这不是太容易,我不喜欢重新发明轮子.我只想依靠一个正确处理格式良好的xml,名称空间声明,多层嵌套xml等的库.

Cra*_*lus 2

我实际上正在寻找任何其他图书馆。有什么建议么?

嗯,SAAJ 仍然是 SUN 处理 SOAP 的规范(带有附件)。
参考实现使用 DOM,因此如果您交换大消息,您会看到内存问题。
除了axis和spring(您已经使用过)之外,支持基于soap的Web服务的其他框架是cxf。
Axis 使用 axiom 进行 xml 处理,并且有一个 SAAJ 的实现,我认为它不是基于 DOM 的。因此,大消息的内存使用率预计会更高。
CXF 默认使用内置的 java saaj 实现,但也可以支持 axis2-saaj
CXF 常见问题解答

最后但并非最不重要的是 JAX-WS(也依赖于 SAAJ)。
CXF 和 JAX-WS 都允许您直接在 xml 级别上工作。
这几乎是 Java 中最流行的 SOAP Web 服务框架(如果我忘记了什么,我希望有人进来告知)。

Java 中处理肥皂消息的最佳库是什么?

很难说,因为这是一个相当广泛的问题。
一般来说最流行的框架是Axis2和CXF(这是我个人的理解)。
恕我直言,所有库都存在一个问题,即它们对输入(即名称空间等)过于“敏感”
。有时开发人员需要更轻松的解析,这并不容易实现。