
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
  | 
| 
 15.08.2016, 12:20 
 | 
|||
|---|---|---|---|
  
  | 
|||
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  Добрый день!!! Есть wcf клиент, который перестал принимать (вернее вываливается в exception => Не удалось проверить безопасность сообщения. InnerException => Неподдерживаемое преобразование или алгоритм канонизации.") сообщения от сервиса, администрация сервиса говорит, что у них всё работает и проблема у меня. Как перехватить SOAP сообщение от сервера до его десериализации клиентом, все предлагаемые интерфейсы в инспекторе сообщений реализованы: Код: c# 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. Код: c# 1. 2. 3. 4. 5. но, при получении ответа до инспектора дело не доходит. Что и где надо ещё дореализовать, чтобы перехватить ответ на клиенте, после ответа сервера? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 12:35 
 | 
|||
|---|---|---|---|
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  DIM@, примерно так. 1. Инициализация и вызов самого сревиса клиентом: Код: c# 1. 2. 3. 4. 5. 6. Имплементация класса MyServiceBehavior: Код: 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. 27. Имплементация MyServiceMessageInspector: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 12:54 
 | 
|||
|---|---|---|---|
  
  | 
|||
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  Это всё сделано, но при получении ответа от сервера функция public void AfterReceiveReply(ref Message reply, object correlationState) не выполняется, такое впечатление, что ошибка происходит раньше Код: 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 12:59 
 | 
|||
|---|---|---|---|
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  DIM@, значит сервис валится на стороне сервера или при получении сообщения. Включите логи и смотрите там. Еще Fiddler в помощь. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 13:14 
 | 
|||
|---|---|---|---|
  
  | 
|||
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  При передаче подготовленного клиентом сообщения через SoapUI ответ возвращается :( правда в ответе присутствуют разрывы строк  \r\n , а вот должны они быть или нет, если сообщение канонизировано  http://www.w3.org/2001/10/xml-exc-c14n#  я не знаю, т.к. до этого не придавал ответу значения ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 13:32 
 | 
|||
|---|---|---|---|
  
  | 
|||
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  Может стек ошибки, что нить прояснит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 15.08.2016, 13:42 
 | 
|||
|---|---|---|---|
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  DIM@, этот стек мало информативен. Очевидно, проблема в десериализации. Странно, что не получается перехватывать сообщение. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 24.08.2016, 20:08 
 | 
|||
|---|---|---|---|
Перехват SOAP ответа от сервера в клиенте.  | 
|||
| 
 #18+ 
  
    
  fiddler прекрасно отлавливает SOAP запросы и ответы http://www.telerik.com/fiddler Нужно только в конфиге программы добавить секцию Код: c# 1. 2. 3. 4. 5. Важно писать именно "127.0.0.1" а не "localhost". Насколько я помню суть проблему, во втором случае пакеты не отправляются на сетевую карту, и поэтому не будут перехвачены фиддлером. Может быть у них там на сервере сертификат истек, может быть он попал в список отзыва, или нет доверия УЦ, который его выдал ? Входящее сообщение перехваченное фиддлером содержит открытую часть сертификата. Его можно выдернуть и посмотреть свойства. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
  | 

start [/forum/topic.php?fid=19&mobile=1&tid=1396757]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    41ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    47ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 13ms | 
| total: | 145ms | 

    | 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.