Раньше в проекте для каждого soap сервиса сначала писалась xsd, где указывалось, какие параметры обязательные при запросе, какие нет. Настраивались ограничения на длину массивов, паттерны для строковых полей. Из xsd генерировали java классы и уже их использовали при запросе.
Теперь есть желание отказаться от генерации java классов из xsd, а напрямую описывать сервис через аннотации (jax-ws ri). Маппинг производиться через spring.
@WebService()
public class WebService{
@WebMethod()
public String printMessage(@WebParam() String name) {
return "hello "+name;
}
}
Единственное, непонятно, как теперь задать ограничения на принимаемые/отдаваемые объекты.
Скажем, в выше указном коде обрабатывать только те запросы в которых параметр name начинается с большой буквы, а для всех остальных выдавать ошибку валидации.