XSD 自底向上 JAX-WS 的限制
XSD Restrictions for bottom-up JAX-WS
我们使用 Spring 和 CXF 来提供 SOAP Web 服务。 WSDL 是从 Java 代码生成的。
有没有一种方法可以在 Java 代码中定义将应用于生成的 XSD 的验证规则?
例如,支持某些 JSR 303 注释会很棒。在这种情况下,此代码:
@Pattern(regexp = "[0-9]+/[0-9]+")
private String phone;
会这样 XSD:
<restriction base="string">
<pattern value="[0-9]+/[0-9]+"></pattern>
</restriction>
我正在寻找这样的 JAXB 扩展:https://github.com/whummer/jaxb-facets
不幸的是,它不是 JAXB 的扩展,而是一个分支,因此它完全取代了 JDK 中的 JAXB 实现。
这个项目的目的是整合到 JDK,但它并没有发生,正如您在这张票中看到的那样:https://github.com/javaee/jaxb-v2/issues/917
还有另一个解决类似问题的项目:https://github.com/krasa/krasa-jaxb-tools,但这个项目也不再受支持。
我们使用 Spring 和 CXF 来提供 SOAP Web 服务。 WSDL 是从 Java 代码生成的。
有没有一种方法可以在 Java 代码中定义将应用于生成的 XSD 的验证规则?
例如,支持某些 JSR 303 注释会很棒。在这种情况下,此代码:
@Pattern(regexp = "[0-9]+/[0-9]+")
private String phone;
会这样 XSD:
<restriction base="string">
<pattern value="[0-9]+/[0-9]+"></pattern>
</restriction>
我正在寻找这样的 JAXB 扩展:https://github.com/whummer/jaxb-facets
不幸的是,它不是 JAXB 的扩展,而是一个分支,因此它完全取代了 JDK 中的 JAXB 实现。
这个项目的目的是整合到 JDK,但它并没有发生,正如您在这张票中看到的那样:https://github.com/javaee/jaxb-v2/issues/917
还有另一个解决类似问题的项目:https://github.com/krasa/krasa-jaxb-tools,但这个项目也不再受支持。