Silverlight 4.0: ошибка междоменной политики - PullRequest
1 голос
/ 06 мая 2011

У меня есть веб-сервис и приложение 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.Пожалуйста, смотрите внутреннее исключение для более подробной информации.

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

1 Ответ

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