Lists.asmx SharePoint WebサービスのAddAttachmentを呼び出そうとしていますが、HTTP経由でWebサービスを呼び出している場合は、以下のコードが正常に機能します。
Dim img(MyFile.PostedFile.ContentLength - 1) As Byte
MyFile.PostedFile.InputStream.Read(img, 0, img.Length)
'Dim fStream As FileStream = File.OpenRead(FullFileName)
Dim fileName As String = MyFile.PostedFile.FileName.Substring(3)
Dim listService As New wsList.Lists()
Dim credentials As New System.Net.NetworkCredential(UserName, Password, Domain)
If Not SiteUrl.EndsWith("/") Then
SiteUrl += "/"
End If
SiteUrl += "_vti_bin/Lists.asmx"
'SiteUrl = SiteUrl.ToLower.Replace("http:", "https:")
listService.Url = SiteUrl
listService.Credentials = credentials
Dim addAttach As String = listService.AddAttachment(ListName, ItemId, fileName, img)
ReturnValue = True
ただし、この行のコメントを外すと
'SiteUrl = SiteUrl.ToLower.Replace("http:", "https:")
次のエラーが発生します: リクエストはHTTPステータス401で失敗しました:Unauthorized
上記の行をコメントアウトしたままにして、この行もコメントアウトすると
listService.Credentials = credentials
同じ401エラー(予期される)が発生するため、資格情報はHTTP経由で正しく受け入れられているように見えますが、HTTPSでは受け入れられていないようです。これを私に説明し、問題を解決する方法について何か考えがありますか?
前もって感謝します!