silverlight调用web服务的问题
privatevoidbutton1_Click(objectsender,RoutedEventArgse){Service1SoapClients=newServic...
private void button1_Click(object sender, RoutedEventArgs e)
{
Service1SoapClient s = new Service1SoapClient();
s.HelloWorldAsync();
s.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(s_HelloWorldCompleted);
}
void s_HelloWorldCompleted(object sender, HelloWorldCompletedEventArgs e)
{
this.textBox1.Text = e.Result;
}
我是这样调用的,调用后报错
尝试向 URI“http://localhost:37679/Service1.asmx”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。
请问高手怎么解决?谢谢了…… 展开
{
Service1SoapClient s = new Service1SoapClient();
s.HelloWorldAsync();
s.HelloWorldCompleted += new EventHandler<HelloWorldCompletedEventArgs>(s_HelloWorldCompleted);
}
void s_HelloWorldCompleted(object sender, HelloWorldCompletedEventArgs e)
{
this.textBox1.Text = e.Result;
}
我是这样调用的,调用后报错
尝试向 URI“http://localhost:37679/Service1.asmx”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。
请问高手怎么解决?谢谢了…… 展开
展开全部
你调用的服务不在silverlight所部署的同一个服务器上,为了安全原因,不允许直接调用。
结决方法是在同一服务器上部署服务与sl终端。或是在webservice服务器的“根”里放两个文件:
clientaccesspolicy.xml
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/> // 这里写上sl的url, 或是*.
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
-----------------------
crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" /> // 这里写上sl的url, 或是*.
</cross-domain-policy>
结决方法是在同一服务器上部署服务与sl终端。或是在webservice服务器的“根”里放两个文件:
clientaccesspolicy.xml
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/> // 这里写上sl的url, 或是*.
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
-----------------------
crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" /> // 这里写上sl的url, 或是*.
</cross-domain-policy>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询