javax.xml.soap比apache cxf更好吗?

时间:2009-06-12 11:15:12

标签: java web-services soap cxf

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

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

我对javax.xml.soap。*

有疑问

在性能方面是否优于CXF?

在编码方面,我看到CXF非常棒,因为根本不需要担心SOAP API,只需使用注释就可以在几分钟内创建服务。

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

2 个答案:

答案 0 :(得分:6)

javax.xml.soap是一个低级API,CXF是该API的一种实现,是众多实现中的一种。 CXF使用下面的javax.xml.soap,所有实现都是如此。

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

答案 1 :(得分:5)

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

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