
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.04.2013, 11:59:24
|
|||
|---|---|---|---|
jaxb и русские элементы в xsd |
|||
|
#18+
Приветствую! Кровавые слезы скатились по моим щекам, открыв я полученный wsdl от одной госконторы. Элементы схемы любезно поименованы там русскими названиями. Отсюда, собственно при работе с генерилкой java бинов (xjc) появляются веселые куски когда типа Код: java 1. 2. 3. Вопрос - как абстрагировать этот ад, чтобы работать непосредственно с православными английскими символами в коде, а обмениваться на уровне сервиса то, чем он там хочет. Читал про custom bindings, но решения так и не пододбрал. Кто как с этим работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.04.2013, 12:06:18
|
|||
|---|---|---|---|
|
|||
jaxb и русские элементы в xsd |
|||
|
#18+
Переименовать можно, например, так: Код: java 1. 2. 3. 4. 5. Будет ли работать с русскими названиями, хз, но скорее всего - да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.04.2013, 12:32:46
|
|||
|---|---|---|---|
jaxb и русские элементы в xsd |
|||
|
#18+
ivanra, Ну, руками лезть в сгенерированные файлы - это не комильфо. Надо как-то на уровне биндингов что ли задать, но вот как - пока не приходит в голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.04.2013, 12:43:48
|
|||
|---|---|---|---|
|
|||
jaxb и русские элементы в xsd |
|||
|
#18+
То, что нагенерил xjc, обязательно надо править руками, это же всего лишь заготовка. Вот, например, что дает xjc при обработке схемы для приведенного выше примера (комментарии я выкинул): Код: 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. Ну и как, какой код лучше и понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.04.2013, 13:28:25
|
|||
|---|---|---|---|
jaxb и русские элементы в xsd |
|||
|
#18+
ivanra, Нет, я не согласен, что код от генератора надо править, потому что это очень большой шанс что-то пропустить, забыть при следующей перегенерации и т.п. плюс объемы сгенерированного и т.п. Сгенерированный код по xsd - это эфемерная вещь. Ее может вообще не быть в другой среде выполнения, но ее всегда можно сгенерировать по существующей версии схемы. Отсюда следует, что заниматься улучшением его читаемости смысла нет. Но это мы отвлеклись от главного вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.04.2013, 14:01:05
|
|||
|---|---|---|---|
|
|||
jaxb и русские элементы в xsd |
|||
|
#18+
Если с этим кодом нужно работать серьезно и долго, лучше отредактировать. Ну что плохого в том, чтобы сделать правильный reverse engineering объектной модели? А в данном случае (русские элементы) - это, наверное, единственное решение (ну, может еще xslt, но там работы не меньше). Генерация и правка делается 1 раз, далее, если меняется wsdl/xsd схема, просто сравниваются версии (инструменты можно найти), а по результатам сравнения вносятся правки в классы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2013, 18:53:03
|
|||
|---|---|---|---|
jaxb и русские элементы в xsd |
|||
|
#18+
А что с биндингами не получается? С русскими названиями не работал, но вложенные типы приходилось бороть. Вот например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Подменяется имя сгенеренного класса, и все ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2129532]: |
0ms |
get settings: |
16ms |
get forum list: |
27ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
71ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 318ms |
| total: | 564ms |

| 0 / 0 |
