所提供的URI方案';https';无效;预期';http';调用web服务时

本文关键字:预期 http 调用 服务 web 无效 URI 方案 https | 更新日期: 2023-09-27 18:28:00

我正在尝试使用自定义C#代码从CRM工作流调用SharePoint web服务。然而,当我运行代码时,我会得到以下错误:

The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

以下是违规代码:

#region Set up security binding and service endpoint
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Ntlm;
EndpointAddress endpoint = new EndpointAddress(endpointAddress);
#endregion
#region Create the client and supply appropriate credentials
CopySPContents.CopyService.SharepointFileServiceClient client = new CopySPContents.CopyService.SharepointFileServiceClient(binding, endpoint);              
client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;              
#endregion
#region Call the web service and trace its response
String response = client.CopyFolderContentsAcrossSites(sourceSiteURL, sourceFolderURL, destinationSiteURL, destinationFolderURL);
#endregion

在调用客户端方法的行String response = client.CopyFolderContentsAcrossSites(sourceSiteURL, sourceFolderURL, destinationSiteURL, destinationFolderURL);上抛出错误。

感谢您的帮助,
Scott

所提供的URI方案';https';无效;预期';http';调用web服务时

根据BasicHttpSecurityMode的文档,TransportCredentialOnly只能与HTTP一起使用。对于HTTPS,您必须使用TransportTransportWithMessageCredential