2009-06-12 76 views
3

这周我不得不查看一个使用SOAP包javax.xml.soap。*的Java WebService项目。javax.xml.soap比apache cxf更好吗?

我以前没有用过这个,但是Apache CXF库创建了一个SOAP web服务。

我有javax.xml.soap中的一个问题。*

它比CXF在性能方面更好?

在编码方面我看到CXF是惊人的,因为没有必要担心在所有SOAP API和简单的使用说明可以在几分钟内创建一个服务。

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

回答

6

javax.xml.soap中是一个低级别的API,CXF是API,许多实施方式之一的实施方案。 CXF使用下面的javax.xml.soap,就像所有的实现一样。

甲更有意义的比较是JAX-WS实现方式中,如JAX-WS-RI和CXF之间。

5

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

一般情况下,使用SAAJ会比CXF慢,因为它不允许流这CXF通常会做。使用SAAJ,整个SOAP消息作为DOM存储在内存中。也就是说,如果您希望/需要将数据作为DOM,则可能会稍微快一点,因为需要的处理更少。

+0

事情发生了变化:SAAJ> = 1.3.4可以处理这个问题(见[非常大的XML负载创建的SOAPMessages /处理非常大的MIME消息](http://weblogs.java.net/blog/kumarjayanti/archive/2009/12/10 /摘要专有的功能-SAAJ-RI-134))。 – 2011-10-21 13:29:49