Ограничения 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, но этот также больше не поддерживается.

Другие вопросы по тегам