Как создать wsdl без суффикса запроса / ответа по умолчанию в Spring? - PullRequest
2 голосов
/ 12 июля 2010

Определения методов веб-службы были предоставлены мне третьей стороной. Я создал java-классы, а плагин maven schemagen генерирует блестяще xsd из классов. Затем я настроил spring-ws-servlet и т. Д. Для публикации wsdl, только классы WSDL11Definition требуют запрос и ответный суффикс .... У меня нет суффикса. имена методов такие вещи, как getAttribute, setAttribute, refreshDetails, manageAttribute и т. д. Кто-нибудь знает способ обойти это? Существуют ли другие классы определения wsdl, на которые можно ссылаться для этого, или, возможно, другие провайдеры (вместо суффиксаProviders, который использует defaultWsdl11Definition)?

Любая помощь будет оценена!

1 Ответ

1 голос
/ 12 июля 2010

Spring-WS разработан вокруг "сначала схема" , а не "сначала код":

При создании веб-сервисов два стиля разработки: контракт последний и контракт первый. При использовании контракт-последний подход, вы начинаете с код Java, и пусть веб-сервис контракт (WSDL, см. боковую панель) генерируется из этого. Когда используешь сначала вы начинаете с WSDL контракт и использовать Java для выполнить указанный контракт.

Spring-WS поддерживает только контрактный стиль разработки и этот раздел объясняет почему.

Вы можете заставить его работать с "кодом первым", но у вас будет бой на руках.

Если вы хотите придерживаться Spring-WS, тогда я настоятельно рекомендую вам использовать спецификацию веб-службы для написания XML-схемы, описывающей операции, а затем либо сгенерировать Java из этой схемы, либо написать Java вручную.

...