----- Original Message ----- From: "new_bie_tomcat" <[EMAIL PROTECTED]>
To: <users@tomcat.apache.org>
Sent: Monday, September 08, 2008 6:59 AM
Subject: UnauthorizedAccessException error while running WMI in tomcat



I have written the following code in Java to access registry of a remote
machine. I am able to execute the program successfully when i run the
program separately. But when I try to execute the code in Apache Tomcat. I
am getting
UnauthorizedAccessException error.The full text of error is
System.UnauthorizedAccessException: Access to the registry key is denied. at
Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) at
Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String
machineName) at BOMInfoCollector.BOMInfoCollector.getOSVersion(StreamWriter
file, String remoteName)
Following is the Java code: try { String keykey =
"C:\\Diagnostic\\DiagnosticAssayRE\\Executable\\BOMInfoCollector.exe";
String ipadddress = Remote machine's IP; String keyStr1= keykey + " " +
ipadddress;
Process p = Runtime.getRuntime().exec(keyStr1);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
while ((s = stdInput.readLine()) != null)
{

response = response + s +"\n";
}
while ((s = stdError.readLine()) != null)
{
response = response + s +"\n";
System.out.println(s);
}}catch(Exception e){
System.out.println("Exception occured "+e);
}

Following is the C# code whose name is
string osKeyName = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
try{
RegistryKey hklm = RegistryKey.OpenRemoteBaseKey(
RegistryHive.LocalMachine, remoteName);
RegistryKey osKey = hklm.OpenSubKey(osKeyName);

if(osKey != null) {
object prodName = osKey.GetValue("ProductName");
Console.WriteLine("OSName=" + prodName);
}
Console.WriteLine("Exiting getOSVersion() method");
}catch(System.UnauthorizedAccessException e){
Console.WriteLine("You are not authorized to access the machine.Please check
the network Privileges "+e);
}catch(Exception e){
Console.WriteLine("Error occured "+e);
}

Please let me know if any configuration is needed in Tomcat to support this?
--
View this message in context: http://www.nabble.com/UnauthorizedAccessException-error-while-running-WMI-in-tomcat-tp19365845p19365845.html
Sent from the Tomcat - User mailing list archive at Nabble.com.

Its Just a user permission thing... you starting a process in the name of System
(See Tomcat service settings)
and that users doesnt have permission to Access WMI...

WMI priviledges can be turned off, or on...
If you run Tomcat from the BAT file... it will probably work...

Solution, use a user in the service that has permission to run WMI...
Interesting way you using for inter-app comms ;)
Sort of a Micro-Perl ;)

Have fun...
---------------------------------------------------------------------------
HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------






---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to