I have a Windows COM+ component that makes two calls to a WebService, using a gsoap generated proxy. It needs to make both calls in the same http session.
It works fine, but not if the component runs on Windows 2012 Server under Local Service account.
It works as expected on
- Windows 2012 as the current user
- Windows 8 as both current user and Local Service account
When I run it on Windows Server 2012 as Local Service (or Network Service) account, however, the second call is made in a different http session.
I have checked many times all settings from COM+ installation to IIS configurations (It is a ASP.NET application that calls the COM), comparing them with the working Windows 8 counterpart, and it is all exactly the same. I can´t see any clue of what may be wrong. As far as I´m concerned it looks like that if I run the COM+ as Local Service it is not able to keep a session cookie.
I´m wondering if someone has any clue of what I may be missing here. Is there any significant Windows 2012 x Windows 8 difference that I should look at, maybe on settings or even on the COM+ implementation?
- Setup the application on IIS to run as a normal user (not application id pool) and load profile set to true;
- Setup the COM+ to run as the same user
That way, the COM+ is loaded and works fine even if the user is not logged in.
Moreover, we think that the problem is that is something related to wininet x winhttp on the COM+ implementation. We are working on this to check this.
If anyone has another suggestion, I´m still open to hear about it.