Как создать строго типизированную схему в Metro - PullRequest
2 голосов
/ 23 мая 2011

У меня есть XSD, описывающий службу в какой-то устаревшей системе (назовем это A24). Мы используем JAXB для перевода этого XSD в Java POJO, затем мы генерируем аннотированный класс веб-службы @WebService (это делается на лету с использованием шаблона). Используя Metro, мы создаем файл WAR и разворачиваем веб-сервис. Таким образом, веб-сервис создается с использованием подхода «снизу вверх» (сначала напишите реализацию).

Metro автоматически создает WSDL и XSD для веб-службы с использованием внутреннего JAXB. Однако в WSDL и схеме, сгенерированной Metro, отсутствуют ограничения, такие как длина строк и т. Д. Но мое требование заключается в создании веб-службы, которая может поддерживать строгую проверку типов данных. Как мне этого добиться?

Одно очевидное решение - изменить подход и сначала написать WSDL, а затем реализацию, но есть ли способ сначала написать реализацию и при этом сгенерировать WSDL + XSD, который будет содержать правила проверки?

...