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. Вам может потребоваться связаться с владельцем службы, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять связанные с SOAP заголовки HTTP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Пожалуйста, смотрите внутреннее исключение для более подробной информации.

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

1 ответ

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