我使用 XFire 来创建围绕我的应用程序的Web服务包装器。 XFire在运行时提供webservice接口和WSDL(或者在编译时创建它们,不完全确切)。

我们的许多客户都不太了解网络服务,此外他们根本不会阅读任何外部文档,如Javadoc。我知道可以将文档(用于参数和方法)直接添加到WSDL文件中。

我想过Annotations或Aegis XML文件,但我不知道......你知道吗?

编辑:我刚刚发现了这个 JIRA问题,但最后一项活动是2006年。有任何想法吗?

有帮助吗?

解决方案

XFire正慢慢走向/ dev / null。请改用 CXF 。换句话说,XFire正在被弃用以支持CXF - 它几乎和开发人员一样。

由于您使用的是Java-first方法,我建议您使用CXF的 java2wsdl 工具一次性生成WSDL,然后将文档放入其中并告诉CXF使用 记录了WSDL,而不是让CXF在运行时/部署时生成自己的(未记录的)WSDL。

此页面包含您需要了解的所有内容在CXF中创建Web服务。

其他提示

  

我关于CXF的最后提示 - 使用Aegis代替JAXB进行数据绑定。它不适用于复杂的POJO。

根据我的经验,我们对复杂的POJO和JAXB没有任何问题,唯一的问题是代码开始被JAXBElements混乱。另一方面,Aegis文档非常稀疏,与CXF相关的维护得不好。

让我加上关于XFire的两分钱。在JDK6下我们遇到了非常严重的XFie问题(Tomcat 6.0和5.5)。请看一下那个问题。在我们的案例中,在JDK6下具有4+ Web服务的XFire导致挂起的应用程序服务器(线程死锁等)。这很有趣,但在JDK5下,一切都很好。

我完全同意Christian Vest关于从XFire迁移到CXF的问题。在许多情况下它有意义,例如ESB Mule 2不再支持原生XFire连接器(另见)。

我希望补充一点,从XFire到CXF的迁移并不是一种直接的方式(例如,CXF的jar依赖性与某些hibernate版本相冲突另见),但它是可行的。在我们的例子中,我们在没有代码校正的情况下进行了几天(仅限Spring配置)。

我关于CXF的最后提示 - 使用Aegis代替JAXB进行数据绑定。它不适用于复杂的POJO。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top