|
|
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
REST сервис может возвращать 2 совершенно разных XML-ответа: 1-й Код: xml 1. 2. 3. 2-й Код: xml 1. 2. 3. 4. Когда какой вариант ответа придёт, заранее не известно. Необходимо объявить прокси-метод, который сможет десериализовывать оба варианта ответа. У меня сейчас такой вариант, но он может работать только с одним вариантом ответа: Код: c# 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. То есть либо response, либо error (конкретно в представленном коде - response). А как сделать, чтобы обрабатывались (десериализовывались) оба варианта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:53:54 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 12:06:32 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
AxeleronVasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? Может быть сервис не его ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 12:36:19 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинAxeleronVasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? Может быть сервис не его да, сервис не мой. Я пишу только клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 12:45:09 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. Ну что я могу посоветовать? Сервис написан безобразно. Потому как вариант - просто получать SOAP XML и парсить его респонс при получении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 12:49:34 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. в случае ошибки Код: xml 1. 2. 3. 4. оно не генерирует exception на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 12:56:29 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, генерирует Exception: ------------------------------------------------------------------------------------------------------------------------------ Необработанное исключение типа "System.Runtime.Serialization.SerializationException" в mscorlib.dll Дополнительные сведения: Невозможно десериализовать текст XML-сообщения с корневым именем "error" и корневым пространством имен "" (для операции "WallPost" и контракта ("IFlickrApi", " http://tempuri.org/")) с использованием XmlSerializer. Обеспечьте добавление типа, соответствующего XML, к известному семейству типов службы. ------------------------------------------------------------------------------------------------------------------------------ Что и понятно, для класса VK_Response задано XML-имя response, а не error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 13:06:33 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Ролг Хупиноно не генерирует exception на клиенте? Не думаю. Похоже, это стандартный паттерн респонса сервиса, только обычно имплементация несколько более универсальная - с использованием status_code, а потом уже error_code, если статус код не success. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 13:07:39 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Вот если бы можно было определить что-то такое: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. То есть, чтобы в этот класс десериализовывались любые XML-документы - не важно, что в корне. Тогда в 1-м случае было бы заполнено только поле post_id, а во 2-м - только error_msg и post_id. Но к сожалению [XmlRoot("*")] - лишь моя придумка, то что я хочу найти, но не знаю, как оно выглядит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 13:13:00 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
* а во 2-м - только error_msg и error_code. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 13:14:00 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_Kashkin, а почему выбрали WCF для решения задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2016, 06:16:34 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
skyANA, 1). Код получается красивым и элегантным. 2). Просто хотелось изучить возможности WCF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 18:55:10 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_KashkinskyANA, 1). Код получается красивым и элегантным. 2). Просто хотелось изучить возможности WCF. C HttpWebRequest или WebClient код тоже получается красивым и элегантным. А возможности WCF не изучить на REST сервисе и HTTP запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 19:29:04 |
|
||
|
WCF REST клиент. 2 варианта ответа метода.
|
|||
|---|---|---|---|
|
#18+
Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. Кстати, тут рядом в теме я спрашивал и сам же отвечал, добавьте такой отлов, мне помогло http://www.sql.ru/forum/1212778/kak-poluchit-tekst-oshibki-na-kliente ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2016, 10:25:15 |
|
||
|
|

start [/forum/search_topic.php?author=lavr-beta&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 705ms |
| total: | 876ms |

| 0 / 0 |
