|
|
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
В общем, наверное, экзотическая проблема, но может кто-то поможет. Такое дело: есть клиент который я не могу изменять, который шлет запрос фиксированного вида. под него нужно написать веб сервис. для этого я использую spring-ws. Spring-ws многое делает сам и даже генерирует wsdl из xsd по своим каким-то правилам. Не знаю радоваться этому или нет. В моем случае он сгенерировал (возвращает по ссылке) wsdl, одна из операций которого в реквесте SOAP UI имеет вид такой: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. Суть тут в том что рутовым элементом является Elem0. А мне нужно чтобы рутовыми элементами были Elem1 и Elem2. Изменения XSD к результату не привели - всегда один рутовый элемент, который инкапсулирует в себе все остальные. Вопрос: есть ли способы изменить wsdl, который генерирует spring-ws на основании xsd? Поиски в интернетах говорят о том, что нужно использовать некий static-wsdl в этом случае, но может есть другие советы, идеи. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 13:14 |
|
||
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
Генерировать WSDL это всегда плохая идея. Вообще ситуация умопомрачительная - есть клиент, нет сервера и нет WSDL. Откуда клиент тогда вообще знает что отправлять? Вообще SpringWS всегда проповедовал подход WSDL First и точка. Не уже ли они отошли от этой славной традиции? Ну, как решение, генерируем WSDL. Сохраняем, правим на то что хотим, используем WSDL для генерации сервиса. Но самая проблема, которую я тут вижу это ваше желание иметь несколько тэгов в Body. SOAP и WSDL такое позволяют, но как такое биндить на Java - мне не понятно. Одна операция это 1 метод. В общем, берите ваш WSDL. Меняйте operation message с одного input, на два. И пробуйте заставить Spring сгенерить API по этой WSDL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 13:34 |
|
||
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Код: plaintext 1. авторВообще SpringWS всегда проповедовал подход WSDL First и точка. Не уже ли они отошли от этой славной традиции? нее отошли. автор Spring сгенерить API по этой WSDL. он тока с традиционно XSD работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 18:56 |
|
||
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
May12, Не знаю о чем вы вообще Вот тут http://docs.spring.io/spring-ws/site/reference/html/tutorial.html раздел Service Contract Код: xml 1. 2. 3. 4. 5. Вам нужно два input внутри operation , по идее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 19:56 |
|
||
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо. Приходит просветление. Как итог: мне надо написать отдельный модуль в виде веб-приложения, где spring-ws не будет генерить wsdl из xsd а возьмет ручками написанный wsdl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 10:29 |
|
||
|
Spring-WS: изменение WSDL сгенерированного Spring'ом
|
|||
|---|---|---|---|
|
#18+
May12Blazkowicz, спасибо. Приходит просветление. Как итог: мне надо написать отдельный модуль в виде веб-приложения, где spring-ws не будет генерить wsdl из xsd а возьмет ручками написанный wsdl. Да. Что-то типа того. Но я не уверен что это сработает. Я никогда не видел сервисов реализованных подобным образом. А уж с SOAP последние 10 с лишним лет я общаюсь часто и много. С другой стороны, Spring WS меня приятно удивил в своё время тем что смог справиться с другими экзотическими требованиями. Может немного усилия и напильник помогут и ваше желание реализовать. В самом худшем случае - выкидывайте WS фреймверк. Ловите XML по HTTP, любым XML API вытаскивайте body и его уже разбирайте как вам нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 10:36 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=106&tid=2124449]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 375ms |

| 0 / 0 |
