提供的URI方案“https”无效; 调用Web服务时需要’http’
我试图使用自定义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);
调用客户端方法的位置。
谢谢你的帮助,
斯科特
根据BasicHttpSecurityMode的文档, TransportCredentialOnly
只能与HTTP一起使用。 对于HTTPS,您必须使用Transport
或TransportWithMessageCredential
。