|
|
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть проблема. На вход подается XML, ее 2 вида и есть 2 класса с JAXB аннотациями, которые используется для unmarshal + 2 XSD схемы. Проблема в том, у меня нету никаких признаков, по которым я бы смог подать нужный класс анмаршалеру. Каким образом можно решить эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 07:17 |
|
||
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
EDUARD_2, по хорошему вам нужно делать 2 точки входа. Можно конечно предварительно искать в сыром xml определенные теги, и по ним определять принадлежность к классу, но этот вариант плохой, не сейчас так потом этот костыль всплывет большой проблемой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 08:35 |
|
||
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
olzhas, как мне сделать эти 2 точки входа, если веб-сервис возвращает base64 данные, расшифровывая их, получаю XML. Просто разрабы веб-сервиса после обновления версии, не стали парится с конвертацией в новые сущности, а тупо возвращают и сущность старой версии или сущность новой (зависит от свежести данных). в общих чертах они похожу, но некоторые теги переименованы, из-за этого при анмаршалинге, я просто теряю эти данные при трансформации их в объект и не получаю при этом никакого экзепшина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 08:44 |
|
||
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
EDUARD_2, Значит должны быть информация о номере версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 08:57 |
|
||
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
olzhas, это шлюз ГИС ГМП, и этого номера нету. Ответ вот такой (новая версия): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. старая версия Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 09:42 |
|
||
|
Unmarshaller разных xml
|
|||
|---|---|---|---|
|
#18+
EDUARD_2, Это не доработка со стороны разработчиков которые предоставляют сервис. И на них я так полагаю вы не сможете повлиять?! Тогда остается вариант который я уже говорил, проверяйте сырой xml на наличие тегов или атрибутов. и в зависимости от этого выбираете тот или иной unmarshal. Есть еще вариант сделать универсальный класс, который будет в себе содержать поля с обоих классов. И над ним сделать фасад, с логикой по выбору полей. Что то типа такого. Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 10:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38961199&tid=2125402]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 393ms |

| 0 / 0 |
