In the earlier version of the SharePoint List adapters you had to modify the SharePointUtility code which is a VB project to be able to support HTTPS. Basically it uses the SharePoint list webservice and the WCF client configuration is performed in SharePointUtility code which needs to be modified to support HTTPS.
Here is some of the code that you can modify and try
Public Function RemoteCertificateValidationCallback(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
Return True
End Function
''' <summary>
''' Resets the conneciton for the current client which is used for the lists service
''' </summary>
''' <remarks></remarks>
Private Sub ResetConnection()
System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf RemoteCertificateValidationCallback)
' Setup the binding with some enlarged buffers for SharePoint
Dim binding = New BasicHttpBinding()
' Change the security mode if we're using http vs https
If (_sharepointUri.Scheme.ToLower() = "http") Then
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly
ElseIf (_sharepointUri.Scheme.ToLower() = "https") Then
binding.Security.Mode = BasicHttpSecurityMode.Transport
Else
Throw New ArgumentException("SharePoint URL Scheme is not recognized: " + _sharepointUri.Scheme)
End If
'@@ binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows
'@@ binding.Security.Transport.ProxyCredentialType = HttpClientCredentialType.Windows
'binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm
' Send credentials and adjust the buffer sizes (SharePoint can send big packets of data)
If (_sharepointUri.Scheme.ToLower() = "http") Then
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm
ElseIf (_sharepointUri.Scheme.ToLower() = "https") Then
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows
binding.Security.Transport.ProxyCredentialType = HttpClientCredentialType.Windows
End If
binding.MaxReceivedMessageSize = Int32.MaxValue
binding.ReaderQuotas.MaxBytesPerRead = Int32.MaxValue
binding.ReaderQuotas.MaxArrayLength = Int32.MaxValue
binding.ReaderQuotas.MaxDepth = Int32.MaxValue
binding.ReaderQuotas.MaxNameTableCharCount = Int32.MaxValue
binding.ReaderQuotas.MaxStringContentLength = Int32.MaxValue
binding.ReceiveTimeout = New TimeSpan(24, 0, 0)
' Create the client with the given settings
Dim ep = New EndpointAddress(_sharepointUri)
' Create the client object
If (Not _sharepointClient Is Nothing) Then
Dim dispose As IDisposable = _sharepointClient
dispose.Dispose()
_sharepointClient = Nothing
End If
_sharepointClient = New ListsSoapClient(binding, ep)
' Only need to add this once, the endpoint will be shared for future instances
Dim clientCredentials As Description.ClientCredentials = _
(From e In _sharepointClient.Endpoint.Behaviors _
Where TypeOf (e) Is Description.ClientCredentials).Single()
clientCredentials.Windows.AllowedImpersonationLevel = _
TokenImpersonationLevel.Impersonation
clientCredentials.Windows.ClientCredential = _credential
End Sub
Naveen Abraham