在silverlight中通过https访问soap

本文关键字:https 访问 soap silverlight | 更新日期: 2023-09-27 18:10:22

我有一个服务器,托管在另一台使用axis2和apache的计算机上。我只是想通过https连接到它。

CustomBinding binding = new CustomBinding(SecurityBindingElement.CreateUserNameOverTransportBindingElement());
binding.Elements.Add(new HttpsTransportBindingElement());
EndpointAddress endpoint = new EndpointAddress("https://othercomputer/axis2/services/DataModel");
DataClient client = new DataClient(binding, endpoint);
client.ClientCredentials.UserName.UserName = "a";
client.ClientCredentials.UserName.Password = "a12345";
return client;

我得到一个通信异常未处理的用户代码与此代码,我做得对吗?

编辑这里有一个例外:

尝试向URI 'https://othercomputer/axis发出请求时发生错误/服务/DataModel"。这可能是由于试图访问一个跨如果没有适当的跨域策略,或者没有适当的跨域策略不适合SOAP服务。您可能需要联系该服务的所有者发布跨域策略文件,并确保它允许与soap相关的HTTP头待发送。此错误也可能是由于在web服务中使用内部类型引起的不使用InternalsVisibleToAttribute属性的代理。请看里面异常查看更多细节。

认证是基本的认证,我的一个同事认为这是证书的问题,并认为这可能是因为证书是自生成的。

在silverlight中通过https访问soap

将其视为跨域调用。您需要添加一个clientaccessppolicy .xml文件,该文件可以通过您正在进行SOAP调用的同一台服务器进行访问。