Ограничения XSD для восходящего JAX-WS
Мы используем Spring и CXF для предоставления веб-сервисов SOAP. 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>
1 ответ
Я искал такое расширение JAXB: https://github.com/whummer/jaxb-facets
К сожалению, это не расширение JAXB, а форк, поэтому он полностью заменяет реализацию JAXB из JDK.
Намерение этого проекта состояло в том, чтобы быть интегрированным в JDK, но этого не произошло, как вы можете увидеть в этом билете: https://github.com/javaee/jaxb-v2/issues/917
Существует также другой проект, посвященный аналогичной проблеме: https://github.com/krasa/krasa-jaxb-tools, но этот также больше не поддерживается.