3

这周我不得不研究一个使用 SOAP 包 javax.xml.soap.* 的 Java WebService 项目。

我以前没有使用过这个,而是使用 Apache CXF 库来创建 SOAP Web 服务。

我有一个关于 javax.xml.soap.* 的问题

性能上比CXF好吗?

在编码方面,我认为 CXF 非常棒,因为根本无需担心 SOAP API,只需使用注释即可在几分钟内创建服务。

MessageFactory 和 SOAPConnection 也是线程安全的吗?我要求它每次都保存这些对象的创建。如果创建不是开销,那么没有问题,但如果是,那么我只想创建一次。我在 javadoc 中找不到关于线程安全的信息。

4

2 回答 2

6

javax.xml.soap 是一个低级 API,CXF 是该 API 的一个实现,是众多实现之一。CXF 在底层使用 javax.xml.soap,所有实现也是如此。

更有意义的比较是在 JAX-WS 实现之间进行比较,例如 JAX-WS-RI 和 CXF。

于 2009-06-12T14:10:29.690 回答
5

实际上,CXF 不会在下面使用 javax.xml.soap (SAAJ),除非它需要这样做(存在 JAX-WS 处理程序、提供程序类型的东西等......)。

一般来说,使用 SAAJ 会比 CXF 慢,因为它不允许像 CXF 通常那样进行流式传输。使用 SAAJ,整个 SOAP 消息作为 DOM 在内存中。也就是说,如果您确实想要/需要将数据作为 DOM,它可以更快一点,因为需要的处理更少。

于 2009-06-13T02:17:26.090 回答