You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Karsten Silz <ks...@seldonsystems.com> on 2007/12/11 14:59:19 UTC

DCOM problem in Tomcat 6 on Windows

Hi!

I'm having a problem with Tomcat 6.0.13, running on JDK 1.6u1, under both
Windows XP, SP2, and Windows Vista Business (up-to-date).  I have a web
application that loads a DLL (located in the "bin" directory of Tomcat) and
then calls a native method in this DLL.  This method tries to create a COM
interface that communicates via DCOM with a remote server.  The call to
"CoCreateInstanceEx" in the DLL is returning an error code of 0x800706BA,
which translates to the message "The RPC server is unavailable.", so the
DCOM setup fails.  The DLL loading itself works fine (the application also
loads a different DLL and uses it successfully).

Now the same DLL (though in a physically different copy) is used in a plain
Java program (run straight from the command line).  And in this Java
program, running on the very same machines, the DCOM communication works
just fine.  This leads me to believe it is not a firewall issue (although I
even disabled the firewall altogether to no effect).

I use Tomcat with run-of-the-mill settings, especially _not_ with Java
Security.

I googled for this DCOM problem, looked through the Tomcat docs, this
mailing list, and searched the Tomcat bug database, but didn't find a
solution.  Does anybody why DCOM doesn't work for me in Tomcat?

Regards,
Karsten Silz


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


RE: DCOM problem in Tomcat 6 on Windows

Posted by Karsten Silz <ks...@seldonsystems.com>.
Hello!

> Karsten,
> 
> You didn't mention if you were running Tomcat as a service. 
> I'll assume you are.

Yes.

[snip]

> Just for grins, have you tried using the identical DLL to run 
> this console program?

Yes - they are in different directories but are otherwise identical (size,
data, SHA-1 checksum).  The DLL doesn't get registered, only loaded.

> Usually when folks have problems and weird issues running 
> Tomcat on Windows like this is because they are using Tomcat 
> as a Windows Service and aren't sensitive to the differences 
> in privilege for their console user (usually "Karsten" or 
> whatever) and the Tomcat service user ("Tomcat"? "System"... 
> not sure what the default is).
> 
> You might want to look into the permissions of the effective 
> user that Tomcat uses when running as a service.

Thanks for the hint - I checked this.  The Windows service ran as "Local
System" which I guess is an admin account.  I changed it to my own admin
user account but that didn't help.  I have a third Java program, run as a
Windows service, with that same (default, I guess) "Local System" account,
which can use the DLL and the DCOM communication within it just fine.  Next
I used the ZIPped version of Tomcat, set it all up and started it explicitly
from a command line with admin rights, but that gave me the same results.
Unfortunately, since we use some JSP 2.1 features, I can't try this with
Tomcat 5.x.

I tried this both on XP and Vista, and the results were the same.

Does anybody else have an idea why DCOM fails under Tomcat 6?
 
> - -chris

Karsten


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


Re: DCOM problem in Tomcat 6 on Windows

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Karsten,

You didn't mention if you were running Tomcat as a service. I'll assume
you are.

Karsten Silz wrote:
> The call to "CoCreateInstanceEx" in the DLL is returning an error
> code of 0x800706BA, which translates to the message "The RPC server
> is unavailable.", so the DCOM setup fails.

[snip]

> DCOM communication works just fine [from a console program].

Just for grins, have you tried using the identical DLL to run this
console program?

Usually when folks have problems and weird issues running Tomcat on
Windows like this is because they are using Tomcat as a Windows Service
and aren't sensitive to the differences in privilege for their console
user (usually "Karsten" or whatever) and the Tomcat service user
("Tomcat"? "System"... not sure what the default is).

You might want to look into the permissions of the effective user that
Tomcat uses when running as a service.

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHXx0r9CaO5/Lv0PARAhZYAKC7GXdiS+FaRLc8TmVxbCxfMgjnAwCgomeL
IQzJGXMvgVk6gO72K0raj9o=
=MVKj
-----END PGP SIGNATURE-----

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