#include BL.Prod.OptiBox #include %occCommon WebServiceTrap() Quit:($ZError="ErrorHandled")&&$Quit "" Quit:($ZError="ErrorHandled") Set ErrorTrace=$$ErrorTrace() If $G(%LastLog) Do . Set oLog=%LastLog . Do $$$LogUpdate(oLog,"E",,,,"Webservice trap",ErrorTrace,,) Else . Set oLog=$$$Log("E",,,,"Webservice trap",ErrorTrace,,) $$$DebugIP Do WL^vhDBG("------------Webservice trap----------------") Do WL^vhDBG(ErrorTrace) Do WL^vhDBG("------------ end trap ----------------") Do MailError(oLog,ErrorTrace) Set $ZError="ErrorHandled" Quit:$Quit "" Quit MailTrap() Quit:($ZError="ErrorHandled")&&$Quit "" Quit:($ZError="ErrorHandled") Set ErrorTrace=$$ErrorTrace() Set oLog=$$$Log("E",,,,"MailTrap",ErrorTrace,,) Do MailError(oLog,ErrorTrace) Set $ZError="ErrorHandled" Quit:$Quit "" Quit MailTrapAndHandled() Quit:($ZError="ErrorHandled")&&$Quit "" Quit:($ZError="ErrorHandled") Set ErrorTrace=$$ErrorTrace() Set oLog=$$$Log("E",,,,"MailTrap",ErrorTrace,,) Do MailError(oLog,ErrorTrace) Set $ZError="" Quit:$Quit "" Quit MailError(oLog,ErrorTrace) Set Body="" If $isObject($G(oLog)) Do . Set:$L(oLog.Groep) Body=Body_$C(13)_oLog.Groep . Set:$L(oLog.Ref) Body=Body_$C(13)_oLog.Ref . Set:$L(oLog.Actie) Body=Body_$C(13)_oLog.Actie . Set:$L(oLog.Detail) Body=Body_$C(13)_oLog.Detail . Set:$L(oLog.Object) Body=Body_$C(13)_oLog.Object . Set Body=Body_$C(13)_"====================================" Set Body=Body_$S($D(ErrorTrace):ErrorTrace,1:$$ErrorTrace()) Set Subj="OptiBox - Errortrap "_$ZError Do ##class(vhLib.Logger).%New("BL.Prod.OptiBox.Common").ErrorMail(Subj,Body) Quit ErrorTrace(oLog) New ErrorTrace Set ErrorTrace=$C(13)_"$ZERROR: "_$ZERROR Set:$G(%objlasterror)'="" ErrorTrace=ErrorTrace_$C(13)_"Object Last Error: "_$$ParseStatus^vhLib(%objlasterror) Set ErrorTrace=ErrorTrace_$C(13)_"$ECode: "_$ECode Set ErrorTrace=ErrorTrace_$C(13)_"Stack: " For EST=1:1:$ESTACK Set ErrorTrace=ErrorTrace_$C(13)_" "_$STACK($STACK-EST,"PLACE") Set ErrorTrace=ErrorTrace_$C(13)_$C(13)_"Device: "_$I_" Job: "_$J Set ErrorTrace=ErrorTrace_$C(13)_"Server: "_##class(TECH.Context.RuntimeContext).Instance().GeefServerNaam()_" NameSpace: "_$ZU(5) Quit ErrorTrace