java - 维护使用 wsimport 构建的 Web 服务

标签 java maven jax-ws

背景
我最近不得不编写一些现有 Web 服务的替代品。为此,我使用 jaxws 和 maven 来运行 wsimport 并从提供的 wsdl 生成接口(interface)。这工作正常,并且对于现有客户来说是无缝的。

问题
大多数示例都讨论编写新的 Web 服务,但我现在必须尝试并维护这些服务。我的问题是如何最好地添加或更改这些网络服务。我认为这些是我的选择:

  • 我可以向生成的代码添加一些带注释的方法,但这会与导入的 wsdl 不同步,并且当我进行全新构建时,maven 会将其清除
  • 我可以编辑导入的 wsdl 并重新运行 mvngenerate-sources

确实,第二个似乎是唯一的选择,但它是一个相当大且笨重的 wsdl,必须手动编辑。为了让事情变得有趣,我们已经为这些更改编写了规范,其中给出了新 wsdl 必须匹配的示例请求和响应。

总之,我想知道是否有比手动编辑 wsdl 更好的方法,或者我是否缺少可以帮助我的工具。 TIA

最佳答案

我们实际上使用生成代码(架构 -> POJO)和生成 Artifact (服务 -> wsdl/架构)的混合体。我们发现使用模式管理 DTO 最简单,因此我们将它们维护在模式中并使用 xjc 吐出 POJO。然而,就像您提到的,维护 WSDL 可能很痛苦。因此,我们管理服务实现本身的操作注释,并允许 JAX-WS 自行自动生成 wsdl。

关于java - 维护使用 wsimport 构建的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16591773/

相关文章:

java - CEP : source for real-time events or data feeds?

java - 空输入的打印错误

java - JAX-WS如何从第3方库返回自定义类对象

java - 用于 jaxws-maven-plugin 下载问题的 m2e 连接器

java - 在不重启 Tomcat 7 的情况下在 war 部署后更改 xml/property 文件

java - Web服务调用时如何拦截xml响应和请求?

java - 如何在枚举单例中实现日志记录?

java - Java 中的字符数组迭代 - 改进算法

java - 如何将 Maven 项目打包成包含 jar 文件的 zip 文件

java - 无法在 Eclipse IDE 中更改 Maven 版本