Служба домена WCF RIA Services через проблемы политики доступа клиента https - PullRequest
1 голос
/ 10 августа 2011

У нас есть служба домена WCF RIA с

[EnableClientAccess(RequiresSecureEndpoint = true)]

У нас есть веб-сайт, настроенный на использование http и https.У нас есть файл политики клиентского доступа в корне веб-сайта, например:

<access-policy>
<cross-domain-access>
<policy>
  <allow-from http-request-headers="*">
    <domain uri="http://*"/>
    <domain uri="https://*"/>
  </allow-from>
  <grant-to>
    <resource include-subpaths="true" path="/"/>
  </grant-to>
</policy>
</cross-domain-access>
</access-policy>

Когда мы получаем доступ к приложению Silverlight через https, все в порядке.Когда мы обращаемся к нему через http, мы получаем следующую ошибку:

Ошибка вызова операции «Работа».Произошла ошибка при попытке сделать запрос к URI 'https://localhost/ClientBin/SilverlightApplication3-Web-DomainService1.svc/binary/Working'. Это может быть связано с попыткой доступа к службе междоменным способом без соответствующей междоменной политики или с политикой, которая не подходит для служб SOAP,Вам может потребоваться связаться с владельцем сервиса, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять HTTP-заголовки, связанные с SOAP.Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute.Пожалуйста, смотрите внутреннее исключение для получения более подробной информации.

Это означает, что наш файл политики неверен, но не может видеть что.Есть идеи?

1 Ответ

1 голос
/ 11 августа 2011

Причина, по которой он не работал, заключалась в том, что мы использовали самозаверяющий сертификат, сгенерированный с именем машины, а затем с помощью localhost в URL.URL должен совпадать, чтобы гарантировать, что ssl не получит ошибок сертификата.

Хороший способ проверить это - запустить весь сайт через https и убедиться, что браузеры не выдают ошибку сертификата.

...