С Spring WebServices вы можете использовать только сгенерированные JAXB классы (из XSD) и использовать собственную реализацию, которая просто использует эти классы в качестве параметров метода и типов конечных точек.
Сам SOAPможно рассматривать как громоздкий протокол, который требует дорогих / тяжеловесных инструментов.Его также можно рассматривать как тонкую оболочку полезных нагрузок XML, которая имеет большое преимущество - WSDL как язык описания (который также можно рассматривать как тяжелый или вездесущий), который описывает операции и параметры.
Назад к SpringWeb Services, вот дорожная карта:
- у вас есть только XSD
- вы используете XJC (или какой-то плагин maven) для генерации классов
- вы пишете свою собственную конечную точку сметоды, которые используют эти классы в качестве параметров
вот пример конечной точки:
@PayloadRoot(localPart = "myMethod", namespace = "http://example.com")
@ResponsePayload
public MyResult myMethod(@RequestPayload MyRequest req)
{
}
Я написал много больших веб-сервисов и написал от руки ~ 50 такихметоды гораздо приятнее и эффективнее, чем полагаться на сгенерированный код.