2010-10-14 88 views
0

我想調用Lists.asmx的AddAttachment SharePoint Web服務如果我通過HTTP調用Web服務,以下代碼正常工作。在VB.Net通過SSL調用SharePoint Web服務(401未授權)

 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然後也註釋掉這條線

listService.Credentials = credentials 

我將得到相同的401錯誤(預期),因此看起來證書通過HTTP正確接受,但不是HTTPS。有人可以幫我解釋一下,並對如何解決這個問題有任何想法嗎?

在此先感謝!

回答

0

今天早上我正在和我們的系統工作人員合作。他檢查了一些IIS日誌,並發現嘗試通過HTTPS訪問Web服務的錯誤。他進入中央管理並添加了一些備用訪問映射以包含HTTPS網址。然後一切正常!

相關問題