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-файла политики, который ищет клиент.