Ошибка при доступе к Web службе

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

Произошла ошибка при попытке создать запрос к URI http://server-c12b77c2b:36495/WebService.svc. Это могло быть вызвано попыткой междоменного доступа к службе без наличия приемлемой междоменной политики или с политикой, непригодной службам SOAP. Может понадобиться связаться с владельцем службы для публикации файла междоменной политики и убедиться в том, что она позволяет отправлять заголовки HTTP, связанные с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Подробности см. во внутреннем исключении.

Сперва нужно проверить наличие двух файлов clientaccesspolicy.xml и crossdomain.xml. Более подробно про эти файлы можно почитать тут.

Если файлы присутствуют и корректны, то можно проверить правильность адреса на Service References. Дело в том, что если находиться в одной подсети с сервером с Service References, то Visual Studio указывает адрес службы в виде домена http://server-c12b77c2b:36495/WebService.svc. Даже если был указан изначально правильный адрес вида http://server.ru/WebService.svc. Для того, что бы исправить ситуацию нужно в файле ServiceReferences.ClientConfig заменить адрес вида http://server-c12b77c2b:36495/WebService.svc на http://server.ru/WebService.svc. Тогда проблема должна быть решена.

Добавить комментарий