views:

3389

answers:

4

For my company, I created a ASP.NET web service that uses a 3rd party payment prcoessing engine to authorize credit card transactions.

The web service is hosted on a seperate application server and connects to the payment processing server via an ActiveX object (.ocx extension). Lately, it has been generating a HRESULT: 0x80010105 (RPC_E_SERVERFAULT) exception when I try to establish an connection to the application using an "IsAvaiable" check.

Does anyone recommend an good place to start for researching this issue?

(I know contacting the vendor would be the first option, but I want to have my "ducks in a row" before we contact technical support)

+1  A: 

I've had the same error (RPC_E_SERVERFAULT) using ActiveX objects in web services. Whenever the ActiveX object crashed, IIS would throw this error, which would mask the reason that the object crashed (for us it was usually crashing while loading an invalid file that it needed to process and return values from).

Have you checked the system logs etc. to see if your ActiveX control has logged the actual error anywhere?

If you can't see anything obvious then I'd recommend contacting their technical support to figure out the best way to diagnose what the actual error is and if it's logging its errors anywhere.

dylantblack
I checked the event log of the web service server and did not see any errors related to the RPC_E_SERVERFAULT error. I do not have access to the application server, maybe I might find something there.
Michael Kniskern
A: 

You could enable adplus to have it grab a memory dump each time you get the exception. This can be used to help debug the issue.

1800 INFORMATION
Where would the memory dump come from: IIS or the ActiveX object?
Michael Kniskern
Memory dumps come from the application, not from individual modules, so IIS
1800 INFORMATION
It does not actually produce a .DMP file when the exception occurs. Are there other type of file extension I should look for that would be considered a memory dump.
Michael Kniskern
A: 

Michael, your third party Activex control is probably not managing memory properly. My guess is it is overwriting a part of a memory when it shouldn't be. Check with your third party provider to see if they have a fix for it.

iaimtomisbehave
A: 

solutions in here: http://msdn.microsoft.com/en-us/magazine/cc163544.aspx

TeYoU