Webservice pb d'accès aux fichier se trouvant sur un autre serveur
maisonx2000
Messages postés5Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 4 mai 2010
-
30 juil. 2003 à 12:34
Freddddy
Messages postés20Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 2 mai 2005
-
15 sept. 2004 à 12:45
Voila je veux developper un webservice qui me retourne un fichier texte se trouvant sur un autre serveur
j'ai tous les droit d'accès. Voici le code
Dim sFileName As String = "\\beduetaf\c$\aspilog.txt"
Dim fs As New System.IO.FileStream(sFileName, IO.FileMode.Open, IO.FileAccess.Read)
Dim sR As New System.IO.StreamReader(fs)
Dim sM As String = sR.ReadLine
Dim sp As String
Do Until sM = ""
'Debug.WriteLine(sM)
'oResultat.AddUtilisateur(sM)
sp += sM + vbCrLf
sM = sR.ReadLine
Loop
sR.Close()
fs.Close()
Return sp
quand j'execute le webservice il me retourne cette erreur
pourtant ayant les droits d'admin je ne vois pas pourquoi il refuse d'accéder à un ficher sur un autre serveur :
System.IO.IOException: Échec d'ouverture de session : nom d'utilisateur inconnu ou mot de passe incorrect.
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at gipc.Service1.lecturefichier()
at gipc.Service1.CheckEssbase()
A voir également:
Webservice pb d'accès aux fichier se trouvant sur un autre serveur
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 30 juil. 2003 à 16:45
Ceci est normal.
Le compte d'exécution du framework est un utilisateur local du serveur WEB : ASPNET
Celui-ci n'est pas connu sur le serveur de fichiers que tu souhaites lire.
Il faut faire exécuter le framework par un utilisateur du Domaine par exemple (ayant les droits suffisants sur les 2 serveurs) ou laisser accessible le répertoire que tu souhaites lire a tout le monde (un peu dangereux).
Quoi qu'il en soit evite les acces sur les shares system (c$, d$, ...) ce sont des share d'administration et non de lecture normale.
Créeun share directement sur ton répertoire ou se trouvent les fichiers et lis celui-ci avec le WS.
maisonx2000
Messages postés5Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 4 mai 2010 30 juil. 2003 à 17:11
Merci pour la réponse mais je débute sur .net
Pourtant je suis administrateur.
J'ai déjà partagé le repertoire avec comme accès tout le monde ainsi qu'au niveau des sécurités et rien à faire j'ai toujours le même message d'erreur :(
quand je teste mon webservice, je suis en admin donc je devrais pouvoir accéder au autre serveur sans problème.
Le code que j'ai fourni fonctionne très bien sur une appli vb.net normal sauf dans une aplli webservice :(
bizarre, bizarre
si tu as autre chose à me proposer n'hésite pas :)
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 30 juil. 2003 à 18:13
Apparement tu n'as pas lu ce que je viens de t'écrire mais t'es empressé de repondre sans réfléchir.
Un webservice est une application accéssible sur un serveur WEB, de ce fait le compte utilisé pour exécuter le framework au profit du serveur WEB n'a strictement rien avoir avec ton compte perso de la machine.
Je t'ai dit plus haut que le compte utilisé était ASPNET (local) et non TOI.
maisonx2000
Messages postés5Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 4 mai 2010 30 juil. 2003 à 19:58
Ok j'ai compris :) mais alors est-ce qu'il existe un moyen d'autoriser le serveur qui contient le webservice à récuperer des informations se trouvant sur un autre serveur sans passer par une base de donnée ??
merci pour tes explications :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
maisonx2000
Messages postés5Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 4 mai 2010 30 juil. 2003 à 21:24
Si si mais pour moi c'est inconcevable :) Je n'arrive pas à concevoir qu'un service web ne puisse pas accéder à d'autres serveurs. Dans mon entreprise on a une dizaine de serveur et j'aimerais bien que ce service web puisse récupérer des données à gauche et à droite pas forcement sur le serveur d'origine :)
En local la routine fonctionne bien quand j'attaque le disk C ou D par contre sur un lecteur monté d'un autre serveur ça me fait le même message d'erreur (encore plus inconcevable pour moi...)
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 30 juil. 2003 à 21:45
Je ne vois pas ce qui est inconcevable dans le fait qu'un serveur WEB ne puisse pas allez explorer d'autres serveurs (pour des raisons évidentes de sécurité) dans sa configuration d'origine (exécution avec le compte ASPNET local à la machine).
cs_keva
Messages postés1Date d'inscriptionvendredi 16 mai 2003StatutMembreDernière intervention15 avril 2004 15 avril 2004 à 15:46
Fabrice,
Dans ta première réponse, je te cite:
"Il faut faire exécuter le framework par un utilisateur du Domaine par exemple (ayant les droits suffisants sur les 2 serveurs)..."
Comment fait-on ?
Freddddy
Messages postés20Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 2 mai 2005 15 sept. 2004 à 12:45
Il faut que tu modifies le fichier "machine.config" situé dans le répertoire d'installation du .NET frameword\Config. (Chez, c'est : C:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG)