1

我使用XFire在我的应用程序周围创建一个 web 服务包装器。XFire 在运行时提供 webservice 接口和 WSDL(或者在编译时创建它们,不确切知道)。

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

我考虑过 Annotations 或 Aegis XML 文件,但我不知道如何......你知道方法吗?

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

4

3 回答 3

2

XFire 正慢慢走向 /dev/null。请改用CXF。换句话说,XFire 被弃用,取而代之的是 CXF——它几乎是同一个开发者。

由于您使用 Java-first 方法,我建议您使用 CXF 的工具一劳永逸地生成 WSDL java2wsdl,然后将文档放入其中并告诉 CXF 使用文档化的 WSDL,而不是让 CXF 在运行时/部署时间。

这个页面几乎包含了关于在 CXF 中创建 Web 服务所需了解的所有信息。

于 2008-10-09T23:24:03.933 回答
2

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

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

于 2008-10-12T23:52:01.180 回答
1

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

我完全同意 Christian Vest 关于从 XFire 迁移到 CXF 的观点。它在很多情况下都有意义,例如 ESB Mule 2 不再支持原生 XFire 连接器(另请参阅)。

而且我想补充一点,从 XFire 迁移到 CXF 并不是一种简单的方式(例如,CXF 具有与某些休眠版本冲突的 jar 依赖关系,另请参阅),但它是可行的。在我们的例子中,我们做了几天没有代码更正(仅限 Spring 配置)。

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

于 2008-10-11T05:53:25.760 回答