Вызов HTTPS-WCF-сервиса из Silverlight 4 работает только с fiddler и из VS2010 - PullRequest
2 голосов
/ 04 ноября 2010

в течение нескольких дней, я пытаюсь запустить следующий сценарий:

У меня есть приложение Silverlight 4, которое вызывает службу WCF через HTTPS.Служба WCF находится на одном из наших серверов, приложение Silverlight 4 также обслуживается с этого сервера.После нескольких часов проб и ошибок (на самом деле больше ошибок, чем попыток), я запускаю его при запуске из среды разработки VS2010 на моем локальном компьютере (см. Также SecurityError при вызове службы HTTPS-WCF из Silverlight 4 ).

Но ...

Вызов ТОЛЬКО для https-WCF работает только тогда, когда я запускаю SL-приложение с моего VS2010 И когда запущен fiddler, и после того, как я скажу fiddler игнорироватьОшибка сертификата (я использую самоподписанный сертификат).Когда fiddler не работает, я получаю ошибку безопасности.Это применимо, когда мой браузер IE.Когда я копирую адрес localhost из IE и вставляю его в свою оперу, он работает без фиддлера.
Когда я развертываю приложение Silverlight на сервере и вызываю его с сервера, WCF-вызов не работает, будь тоСкрипач работает или нет.Я просто получаю стандартное сообщение, что произошло исключение.Это происходит как в Opera, так и в IE.Fiddler не просит меня игнорировать ошибку сертификата, как это происходит в сценарии VS2010, поэтому, возможно, где-то есть ключ к моей проблеме.К сожалению, я не очень разбираюсь в этом, поэтому понятия не имею, где искать и что делать.

Я уже нашел кое-что о проблеме фиддлера здесь на stackoverflow ( Silverlight Requests, Failures& Fiddler ), но это не помогает мне решить мою проблему.

Я надеюсь, что некоторые из вас смогут пролить свет на этот вопрос, прежде чем все мои волосы станут седыми.

Заранее спасибо,
Фрэнк

Эдит только что установила сертификат в качестве доверенного сертификата в IE - но я по-прежнему получаю сообщение об ошибке при вызове WCF при запуске развернутого приложения silverlight с сервера,По крайней мере, теперь я могу позвонить в Службу, когда я запускаю приложение SL из VS2010 в IE (даже когда это не помогает мне, когда кто-то еще должен работать с приложением.

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Имя вашего сертификата SSL совпадает с именем вашего хоста службы? Если нет, то это вызывает ошибку, которая может привести к описанному поведению

2 голосов
/ 04 ноября 2010

Несколько мыслей:

  • Какое именно сообщение об ошибке вы видите?Любые внутренние исключения?

  • Может ли это быть междоменной проблемой?(Являются ли Silverlight XAP и служба WCF, размещенные на точно , одним и тем же доменом, включая его характеристику HTTP против HTTPS, номер порта, различие между "localhost" и реальным именем машины и т. Д.как это появляется в ServiceReference.ClientConfig или в коде, и соответствует ли его доменное имя точно доменному имени XAP?)

  • Вы видите любой вызов пытается пройти в Fiddler вообще, когда он терпит неудачу?(Если нет, я бы сильно подозревал междоменную проблему)

  • Если вы вручную перейдете к https: //....../YourService.svc из IE / Opera (вместо вызова службы через код в Silverlight), вы можете успешно увидеть страницу информации о службе, без предупреждений / ошибок сертификата?

...