Я видел несколько тем по этой проблеме, но ни одна из них не работала для меня.У меня есть простое приложение Silverlight.Я использую сервис WCF.Когда я вызываю метод GetOrderList из службы, я получаю следующую ошибку:
Произошла ошибка при попытке сделать запрос к URI 'https://testserver2.mydomain.org/ORDERNET/WCFServices/OrderService/OrderService.svc'. Это может быть связано с попыткой доступа к службе черездоменный путь без надлежащей междоменной политики или политики, которая не подходит для сервисов SOAP.Вам может потребоваться связаться с владельцем сервиса, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять HTTP-заголовки, связанные с SOAP.Эта ошибка также может быть вызвана использованием внутренних типов в прокси веб-службы без использования атрибута InternalsVisibleToAttribute.Пожалуйста, смотрите внутреннее исключение для получения более подробной информации.
Вот мой код:
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
ServiceReference1.ServiceClient sc = new ServiceReference1.ServiceClient();
sc.GetOrderListAsync("testuser");
sc.GetOrderListCompleted += new EventHandler<ServiceReference1.GetOrderListCompletedEventArgs>(sc_GetOrderListCompleted);
}
void sc_GetOrderListCompleted(object sender, ServiceReference1.GetOrderListCompletedEventArgs e)
{
var RESULT = e.Result;
}
}
Это мой файл политики клиентского доступа, который я поместил в свой wwwroot:
<?xml version="1.0" encoding="utf-8"?>
<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>
Когда я запускаю fiddler, он находит «clientaccesspolicy.xml» с 200 OK (текст / xml), поэтому я знаю, что находит файл.
В чем может быть проблема?У меня есть недопустимый файл политики?Если я создаю консольное приложение и использую сервис, я могу вызвать метод с проблемой.
Есть идеи?