java - 如何从使用现有 XSD 类型的 WSDL 构建 Java

标签 java xsd wsdl

我正在尝试创建一个使用现有类型的新 Web 服务。这些类型是在我们从第三方收到的现有 XSD 以及匹配的 JAR 文件中定义的。如果我只是将该 XSD 导入到 WSDL 中并构建 Java(使用 wsconsume),那么也会构建所有现有类型。由于我们已经有一个包含所有这些 Java 类型的 JAR,因此我们不想再次生成它们。

作为后备选项,我可以让 ant 删除这些冗余文件,但我宁愿找到一种方法,一开始就不生成它们。

有什么建议吗?

最佳答案

我的建议是使用Spring WebServices这应该可以帮助您实现这样的实现,它:

  • 具有契约优先的原则,其中契约是 XSD 而不是 WSDL
  • 允许您写 @Endpoint带有注释方法的类,例如@PayloadRoot并使用您获得的 JAR 中的类型参数
  • 允许您使用 <sws:dynamic-wsdl /> 生成 WSDL

如果您获得的 JAR 具有带有 JAXB 注释的类,那么您可以直接使用 JAXB,如果没有 - 您始终可以使用其他绑定(bind)技术。

关于java - 如何从使用现有 XSD 类型的 WSDL 构建 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914214/

相关文章:

wcf - 关于 WSDL 与 MEX?

java - CXF选择性服务曝光

Nunit 使用的 XML 文件的 XSD

java - 完整的 WSDL 端点 url 是什么

java - 更改安卓蓝牙设备名称

java - 快速在 jpanel 中添加大量 jlabel

java - 支持使用 JAXB 进行 XSD 版本控制

xml - 来自 node.js 的 XSD 验证功能?

java - 为什么我应该总是使用 ||而不是 |和 && 而不是 &?

java - Gradle,包含我的构建目录中的所有 json 文件