| 
 | 
| 
 
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 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 12:06 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AxeleronVasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? Может быть сервис не его ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 12:36 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ролг ХупинAxeleronVasiliy_Kashkin, а почему бы не возвращать оба варианта вместе? Зачем усложнять жизнь себе? Может быть сервис не его да, сервис не мой. Я пишу только клиента. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 12:45 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. Ну что я могу посоветовать? Сервис написан безобразно. Потому как вариант - просто получать SOAP XML и парсить его респонс при получении. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 12:49 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. в случае ошибки Код: xml 1. 2. 3. 4. оно не генерирует exception на клиенте? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 12:56 | 
  
  
  
   | 
||
| 
 
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 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ролг Хупиноно не генерирует exception на клиенте? Не думаю. Похоже, это стандартный паттерн респонса сервиса, только обычно имплементация несколько более универсальная - с использованием status_code, а потом уже error_code, если статус код не success. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 13:07 | 
  
  
  
   | 
||
| 
 
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 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  * а во 2-м - только error_msg и error_code. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.05.2016, 13:14 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_Kashkin, а почему выбрали WCF для решения задачи? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 07.05.2016, 06:16 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANA, 1). Код получается красивым и элегантным. 2). Просто хотелось изучить возможности WCF. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.05.2016, 18:55 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_KashkinskyANA, 1). Код получается красивым и элегантным. 2). Просто хотелось изучить возможности WCF. C HttpWebRequest или WebClient код тоже получается красивым и элегантным. А возможности WCF не изучить на REST сервисе и HTTP запросах. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.05.2016, 19:29 | 
  
  
  
   | 
||
| 
 
WCF REST клиент. 2 варианта ответа метода. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Vasiliy_KashkinРолг Хупинпропущено... Может быть сервис не его да, сервис не мой. Я пишу только клиента. Кстати, тут рядом в теме я спрашивал и сам же отвечал, добавьте такой отлов, мне помогло http://www.sql.ru/forum/1212778/kak-poluchit-tekst-oshibki-na-kliente ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.05.2016, 10:25 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=19&msg=39230803&tid=1396768]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    58ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    52ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 15ms | 
| total: | 169ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.»
    
    
    ... бла, бла, бла ...