System.Management.ManagementException: generic failure
Bonjour,
je monte un web service afin de configurer les DNS d'un serveur, seul problème une erreur se déclanche mais pas moyen de trouver une solution :
Citation:
System.Management.ManagementException: Échec générique
à System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
à System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
à System.Management.ManagementObjectCollection.get_Count()
à WebService1.Service1.DomainExists(String domainName) dans C:\Users\****\Documents\Visual Studio 2008\Projects\WebService1\WebService1\Service1.asmx.cs:ligne 120<br/><br/> à System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
à System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
à System.Management.ManagementObjectCollection.get_Count()
à WebService1.Service1.DomainExists(String domainName) dans C:\Users\****\Documents\Visual Studio 2008\Projects\WebService1\WebService1\Service1.asmx.cs:ligne 120
et voici le code correspondant très léger :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public Service1(string serverName)
{
ConnectionOptions con = new ConnectionOptions();
con.Authentication = AuthenticationLevel.Connect;
session = new ManagementScope("\\\\" + serverName + "\\root\\MicrosoftDNS", con);
session.Connect();
this.Server = serverName;
}
[WebMethod(EnableSession = true)]
public string verifDomainExist(string serverName, string domainName)
{
service = new Service1(serverName);
string result = service.DomainExists(domainName);
return result;
}
public string DomainExists(string domainName)
{
//service = new Service1(serverName);
try
{
bool retval = false;
string wql = "";
wql = "SELECT *";
wql += " FROM MicrosoftDNS_ATYPE";
wql += " WHERE OwnerName = '" + domainName + "'";
ObjectQuery q = new ObjectQuery(wql);
ManagementObjectSearcher s = new ManagementObjectSearcher(this.session, q);
ManagementObjectCollection col = s.Get();
int total = col.Count;
foreach (ManagementObject o in col)
{
retval = true;
}
return "ok";
}
catch(Exception ex)
{
return ex.ToString()+"<br/><br/>"+ex.StackTrace.ToString();
}
} |
l'erreur est signalée au niveau de int total (qui sert a rien au passage), si je commente la ligne, l'erreur descend et arrive sur le foreach ? :(
Je suis super en galère se vois vraiment pas d'où cela vient et comment le résoudre.
Si quelqu'un à déjà utilisé les webservices pour configurer des DNS cela serait le MUST :)
Merci
Generic Failure le retour de la revanche qui contre attaque
Me revoilà avec mon erreur.
Elle avait disparu, et tout fonctionnait jusqu'à se que je fasse une maj de mon webservice (maj minime qui n'a pas d’influence sur le déroulement du programme, j'ai vérifier), qui a eu pour conséquence de déclencher l'erreur suprême de WMI "Generic Failure".
Le pire dans tout cela c'est que mon webservice est en place sur deux serveurs différents : l'un sur WS2003 où il tourne nickel et l'autre sur WS2008 R2 et la ça plante lorsque je veux invoquer une méthode de WMI "CreateZone".
Donc s'il y a quelqu'un qui est déjà passé par là, je suis tout ouïe.
Sachant qu'il m'est strictement impossible de reboot le serveur pour recharger WMI, comme le propose certains forum :(