|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
В общем, попросили меня написать клиента для соапа. а я вообще этого никогда не делал. смотрю тонны древней доки и чот не очень въезжаю. простые примеры понятны а сложные уже не очень. в общем суть в следующем (да, вопрос наверное тупой для тех кто в теме) - у меня есть два файла - wsdl и xsd через всдл я сгенерил джава код (или скала код - без разницы), вытащил через консамерсервис - сервиспорт. а там единственный метод гетЧтоТоТам. туда надо положить объект getЧтоТоТамRequest а в этом объекте поле message, в котором метод setElement и всё. собссно у меня есть XSD из которой я сделал класс того что надо послать в сервис. но это обычный такой ДТО класс. как мне его превратить в Element или что я делаю не так? там кажется что то с маршалёром надо мутить или что? :) спасибо за ответ заранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 11:58 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:00 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
а вот что мне надо отправить: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:01 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT, Нужно сделать правильный примерчик на правильном сервисе. Например, https://wiki.cdyne.com/index.php/CDYNE_Weather А потом смотреть ваше легаси. В чем отличия. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:35 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT, (Хорошо,что в основном мио переходит на rest ибо soap это отдельный головняк) Ну вообще запуск сгенерированного средой soap где-то такой Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:41 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT а там единственный метод гетЧтоТоТам Прям прошлый век какой то. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:42 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
irbis_al основном мио переходит на rest ибо soap это отдельный головняк) В шарпе у MS все отлично. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:44 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT, В общем вся "жопа" из-за "Any". Убивать надо тех, кто использует этот тип в SOAP-сервисах. Я решал проблему так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
В аннотации @XmlSeeAlso - перечисляются все типы которые могут быть в "data" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:57 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
mad_nazgul, Да. Видел примеры. Где типизация там хорошо. А тут вот не очень. Да. Это сервис одной гос. Организации. Начинается на ф (не путать с кгб). Как написан так написан. Надо к нему конвектор написать. В общем, сделал через жакс-би. Вот сюда написал и сразу разобрался :) ну сделать сделал но это какой то трэш и угар этот жакс-би ощущение чем ему лет двадцать. Он такой весь мутабельный с сайд эффектами и тп. Дичь. Сделал и стёр. Выдрал нужные методы, хмл-ки запросов и ответов и сделал тупо обычный веб клиент где в качестве бади уходит хмл постом. Получается респонзом оно же и распарсивается. Все хорошо все работает. Знаю что не правильно но для сервиса где есть только один метод где можно слать всё - пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 02:13 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
А да. В ответ мне приходит хмл внутри которой джейсон. Шах и мат, Илон Маск. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 02:15 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT А да. В ответ мне приходит хмл внутри которой джейсон. Шах и мат, Илон Маск. Так еще лучше. :-) Указываете тип String, а потом Gson'ом десерелизуете. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 05:53 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT А да. В ответ мне приходит хмл внутри которой джейсон. Шах и мат, Илон Маск. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 06:26 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
Андрей Панфилов andreykaT А да. В ответ мне приходит хмл внутри которой джейсон. Шах и мат, Илон Маск. чо уж там zip это обыденно, нет бы какой arj да еще и в KOIR8 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 10:26 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
да. там русский в ср866. я вот думаю насколько я не прав, если для создания запросов я заюзал шаблонизатор плея twirl вместо xsd сконверченной в класс. хотя куда уж хуже то. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 00:59 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
вообще. хотел заюзать скаловский функционал работы с хмл, имея шаблон в текстовом виде, который следом подгружается как объект хмл. а потом просто меняя значения полей. легко и просто да. ну как в джейсоне. а потом как увидал синтаксис этого скаловского родного фреймворка чтоб сделать банальную замену значения через путь и мне плохо стало. дерьмо какое-то. зачем всё усложнять так то? это тупо нечитабельно и неюзабельно если у тебя уровень вложенности выше 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 01:01 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT вообще. хотел заюзать скаловский функционал работы с хмл, имея шаблон в текстовом виде, который следом подгружается как объект хмл. а потом просто меняя значения полей. легко и просто да. ну как в джейсоне. а потом как увидал синтаксис этого скаловского родного фреймворка чтоб сделать банальную замену значения через путь и мне плохо стало. дерьмо какое-то. зачем всё усложнять так то? это тупо нечитабельно и неюзабельно если у тебя уровень вложенности выше 1. Это Scala детка. Привыкай. А так старый добрый JAXB или Apache CXF должны помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 05:50 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT вообще. хотел заюзать скаловский функционал MS генерит прокси классы в отдельную папку. А у клиента только методы обычные. listUsers = servis.дайДолжников(датаНачала, датаКонца) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 08:35 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
Ну так и жаксби так же работает. И это было бы правильно использовать его. Но есть нюансы, борьба с которыми по ходу займет больше времени чем написание сервиса. На пока я заюзал сериализатор с хмл в плее, по виду точно так же работает как плеевсий джейсон десер. Тут логика работы как с обычным сервисом который отдает джейсоны. А на отправку вот сложнее. Строить хмл из элементов это адище то еще. Юзать хсд не вариант. Поэтому заюзал шаблонизатор с плейсхолдерами. Выглядит очень кастом но но работает . Одно меня заботит - могут же в теории в плейсхолдер при сунуть XSS инъекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 10:56 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT вообще. хотел заюзать скаловский функционал MS генерит прокси классы в отдельную папку. А у клиента только методы обычные. listUsers = servis.дайДолжников(датаНачала, датаКонца) Я уже чуть выше показал что обмен там через один метод сенд-мессадж, а у мессаджа одно единственное поле - элемент. Ну в той схеме да суть работы на уровне текста хотя бы отсутствует. Здесь тоже ее бы не было не будь этого шаблонизатора. Не пойму неужели замена элемента в объекте такая нетривиальная задача? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 11:02 |
|
соап такой соап. хелп :)
|
|||
---|---|---|---|
#18+
andreykaT через один метод сенд-мессадж, а у мессаджа одно единственное поле - элемент. Просто зашел разговор о скале. И если делать правильно, то я как _прикладник_ конечно приветствую код как я выше написал. А получится так или нет я не в курсе. Наверно проще просить доплату за работу с извратным сервер API. Чё тут думать. Закрывай топик и сделай красиво не на Г. Легаси коде. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 11:27 |
|
|
start [/forum/topic.php?fid=59&msg=39894373&tid=2121009]: |
0ms |
get settings: |
4ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
49ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
392ms |
get tp. blocked users: |
0ms |
others: | 6ms |
total: | 463ms |
0 / 0 |