0

J'essaie d'appeler le service Web AddAttachment du service Web Lists.asmx. Le code ci-dessous fonctionne correctement si j'appelle le service Web via HTTP.Appel du service Web SharePoint sur SSL dans VB.Net (401 non autorisé)

 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 

Toutefois, si je décommentez cette ligne

'SiteUrl = SiteUrl.ToLower.Replace("http:", "https:") 

Je l'erreur suivante: La demande a échoué avec l'état HTTP 401: Non autorisé

Maintenant, si je quitte la ligne ci-dessus commenté et puis commenter cette ligne

listService.Credentials = credentials 

Je vais obtenir la même erreur 401 (attendue) donc il semble que les informations d'identification sont acceptées correctement sur HTTP mais pas HTTPS. Peut-on m'aider à m'expliquer cela et à avoir des idées sur la façon de résoudre le problème?

Merci d'avance!

Répondre

0

Ce matin, je travaillais avec un de nos gars du système. Il a vérifié certains journaux IIS et a pu voir des erreurs essayant d'accéder au service Web via HTTPS. Il est entré dans l'administration centrale et a ajouté des mappages d'accès alternatifs pour inclure les URLs HTTPS. Alors tout a fonctionné!

Questions connexes