Bonjour,
Je rencontre un soucis sur l'utilisation de HTTPRequete.
L'idée pour moi, c'est de m'émanciper de la couche .net actuellement utilisée en les remplaçant par les outils embarqués.
Le but de la requête c'est de supprimer un document sur Sharepoint sans passé par un WebService qui pourrait être long en littérature pour le peu qu'on soit sur une arborescence dans la bibliothèque.
Voici le code en utilisation d'un assemblage .Net QUI FONCTIONNE (mais qui m'oblige à avoir l'assemblage présent) :
sLien est une chaîne = "http://urlsp/urldoc"
pclRequest est HttpWebRequest dynamique <- WebRequest.Create(sLien)
pclRequest.Timeout = System.Threading.Timeout.Infinite;
clCREDENT est un NetworkCredential("user","password","")
pclRequest.AllowAutoRedirect = Vrai
pclRequest.Credentials = clCREDENT
pclRequest.Method = "DELETE"
pclREPONSE est un HttpWebResponse <- pclRequest.GetResponse()
Voici le code que j'ai tenté d'écrire en WLangage pur (en W24) :
cREQUETE est un httpRequête
cREQUETE..URL = "http://urlsp/urldoc"
cREQUETE..Méthode = httpDelete
cREQUETE..TimeoutConnexion = 20000
cREQUETE..Utilisateur = "user"
cREQUETE..MotDePasse = "password"
cREPONSE est un httpRéponse = HTTPEnvoie(cREQUETE)
Ce code renvoi systématiquement une erreur d'authentification (401 : unauthorized)
J'ai essayé plusieurs chose avec le même résultat :
1. Passer l'authentification directement via l'URL
sURL est une chaîne = "http://urlsp/urldoc"
sTEMP est une chaîne = "http://" + "user" + ":" + "password"+ "@"+ Droite(sURL ,Taille(sURL - 7)
cREQUETE..URL = sURL
2. Passer par l'authentification par entête (ce qui fonctionne très bien avec la consommation des WebService du même serveur)
cREQUETE..Entête["Authorization"] = "Basic " + Encode("user" + ":" + "password",encodeBASE64)
a chaque fois... erreur 401.
ce qui est étonnant, c'est que le composant .net fonctionne sans problème et que la consommation de WebService (en authentification via entête HTTP) fonctionne elle aussi.
Je précise que j'ai changé le mode en paramètre HTTP
HTTPParamètre(httpParamètreMode,1)
qui est une obligation pour pouvoir avoir une authentification sur SP. j'ai essayé de changer de mode juste avant le code mais sans plus de résultat non plus...
Qu'est ce qui cloche avec le HttpRequete ?
Quelqu'un a une idée ? Merci !!!