Связь Silverlight 3 / WCF через SSL - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть служба WCF через SSL, которая работает без проблем.Я могу добавить ссылку на этот сервис в мой проект Silverlight.Все размещено в IIS7.Когда мое приложение запускается, я получаю следующую ошибку

Произошла ошибка при попытке сделать запрос к URI 'https://wikittybam/BurgerCounter.svc'. Это может быть связано с попыткой доступа к службе в перекрестномдоменный путь без надлежащей междоменной политики или политики, которая не подходит для сервисов SOAP.Вам может потребоваться связаться с владельцем сервиса, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять HTTP-заголовки, связанные с SOAP.Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute.Пожалуйста, смотрите внутреннее исключение для получения более подробной информации.

Теперь я уже много часов здесь и 1) Да, у меня добавлена ​​клиентская политика доступа в правильном месте, и она настроена правильно.Я использовал Fiddler и убедился, что политика отменяется.2) Я попытался использовать междоменную политику, а тот же результат.3) Сам сервис WCF работает, я могу подключиться к нему с помощью WCFTestClient и получить нужные мне данные.

Любые предложения на этом этапе будут с благодарностью.Если вам нужна какая-либо другая информация, пожалуйста, дайте мне знать.

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Я наконец смог решить это.Проблема была в политике клиентского доступа.У меня была неправильная политика.

<?xml version="1.0" encoding="utf-8"?>
  <access-policy>
    <cross-domain-access>
      <policy>
        <allow-from http-request-headers="SOAPAction">
           <domain uri="http://*"/>
           <domain uri="https://*"/>
        </allow-from>
        <grant-to>
          <resource path="/" include-subpaths="true"/>
        </grant-to>
      </policy>
    </cross-domain-access>
  </access-policy>

Некоторые заметки

  1. Я настроил Visual Studio 2010 на использование локального веб-сервера IIS для службы и пользовательского интерфейса Silverlight.Я все еще получаю предупреждение о недоступности политики доступа клиентов, но опять-таки, похоже, все работает на этом этапе.
0 голосов
/ 01 сентября 2010

Я подозреваю, что у вас есть сценарий с перекрестными схемами, когда ваше приложение Silverlight имеет http-адрес и пытается получить доступ к ресурсу через https, а это не включено в вашей клиентской политике доступа. Доступ к перекрестной схеме http-to-https включен в файле clientaccesspolicy? Для получения дополнительной информации посмотрите Ограничения доступа к URL в Silverlight на MSDN.

...