How to log the unhandled web service exceptions
Unlike ASP.NET, unhandled web services exception can not be caught in global.asax(Application_Error event). Here is the workaround for that
1.Create a SoapExtension class
2.Add the
SoapExtensionTypes element in your web.config file and
configure your SoapExtension class.
3.In the overrided
ProcessMessage method, check whether SoapMessage.Exception
has any value
4.Log the exception details only if the
SoapMessageStage is SoapMessageStage.AfterSerialize.
5.Make
sure ASP.NET account has enough permission to write the log
More about SoapExtension class from MSDN
http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapextension(VS.71).aspx