Silverlight 4.0: ошибка междоменной политики

У меня есть веб-сервис и приложение Silverlight. У меня также есть crossdomain.xml и clientaccesspolicy.xml

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

вот моя междоменная политика

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
  SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="http://localhost/MHVWS/MachineHistoryWS.asmx" />
</cross-domain-policy>

Моя веб-служба размещается в IIS.

С этой конфигурацией у меня все еще есть такая ошибка:

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

Пожалуйста помоги


person xscape    schedule 06.05.2011    source источник


Ответы (1)


  • Вам нужен только один файл политики. Вам не нужны оба.
  • Убедитесь, что один (или оба) из этих файлов политики существуют в том же месте (домене), что и веб-сервис.
  • Чтобы отладить и посмотреть, что происходит, используйте такой инструмент, как Fiddler, чтобы проверить URL-адрес XML-файла политики, который ищет клиент.
person AlvinfromDiaspar    schedule 06.05.2011