#include %occInclude #include vhLib.Macro #include BL.Sys.FOP.Common /* * / cdwSoapAddToLog New lbExtras Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) Quit cdwSoapErrorCalc Set $ZE="" Quit /* */ PeekSOAPBuildLog(SoapClass,method,lbLocations,locNdx) New tmpLB Set tmpLB="" Set tmpLB=tmpLB_$LB("SoapClass="_SoapClass) Set tmpLB=tmpLB_$LB("SoapMethod="_method) Set tmpLB=tmpLB_$LB("Locations="_$$LCVTSimple^vhLib(lbLocations,"|")) Set tmpLB=tmpLB_$LB("LocNdx_OK="_locNdx) Quit tmpLB SOAPErrorMail(MailParamType,BodyTitle,CustomMsg,DisplayError,SoapClient) New Body,msg,From,lbTo,Subject,SoapFault,sc Set msg=$S($D(DisplayError):DisplayError, 1:"SOAP message: "_$$semParseStatusSOAP($G(%objlasterror))) ; $$ParseStatus^vhLib($G(%objlasterror))) If $G(MailParamType)="TBX_ERR" Do . Set BodyTitle=$G(BodyTitle,"WEB AANVRAAG TANDEMBOX : ") . Set Subject="TandemBOX - Error - "_$ZDT($H,4)_"" . Set From="""TBX Error"" " . Set lbTo=$LB("ICT_SOAPSysOp@vanhoecke.be") ; ("WV@vanhoecke.be") ("") Else If $G(MailParamType)="FOP_ADB_ERR" Do . Set BodyTitle=$G(BodyTitle,"FOP DocBase SOAP : ") . Set Subject="DocBase - Error - "_$ZDT($H,4)_"" . Set From="""FOP DocBase"" "_$$$FopMailFromKort ; "" . Set lbTo=$LB("ICT_FOPSysOp@vanhoecke.be") ; ("WV@vanhoecke.be") ("") Else If $G(MailParamType)="WSH_DP_ERR" Do . Set BodyTitle=$G(BodyTitle,"DynaPlug SOAP : ") . Set Subject="DynaPlug - Error - "_$ZDT($H,4)_"" . Set From="""Dynaplug"" " . Set lbTo=$LB("ICT_DynaPlugSysOp@vanhoecke.be") ; ("TR@vanhoecke.be") ("") Else Do ; Default . Set BodyTitle=$G(BodyTitle,"SOAP REQUEST : ") . Set Subject="SOAP - Message - "_$ZDT($H,4)_"" . Set From="""SOAP Msg"" " . Set lbTo=$LB("ICT_SOAPSysOp@vanhoecke.be") Set Body="" Set Body=Body_BodyTitle_$$$CRLF Set Body=Body_msg_$$$CRLF If ($IsObject($G(SoapClient))) Do . Set SoapFault=SoapClient.GetSoapFault() . Set:($IsObject(SoapFault)) Body=Body_"Soap Fault: "_SoapFault.AsString()_$$$CRLF Set Body=Body_""_$$$CRLF If $L($G(CustomMsg)) Do . Set Body=Body_CustomMsg_$$$CRLF . Set Body=Body_""_$$$CRLF Set Body=Body_"--- End of message ---"_$$$CRLF Set Body=Body_$$$CRLF_"Device: "_$I_" Job: "_$J Set Body=Body_$$$CRLF_"Server: "_$$$Server_" NameSpace: "_$$$NSpace Set RerouteTo = $$$Trim(##class(TECH.Config.ConfigMgr).Instance().GetString("cspBasis.SOAPlib_RerouteMailTo")) If $L(RerouteTo) { // Send to "WV" instead of "ICT_SoapSysOp" or "ICT_FopSysOp" or "ICT_DynaPlugSysOp" New i Set i=$LF(lbTo,"ICT_SOAPSysOp@vanhoecke.be") Set:(i>0) $LI(lbTo,i)=RerouteTo Set i=$LF(lbTo,"ICT_FOPSysOp@vanhoecke.be") Set:(i>0) $LI(lbTo,i)=RerouteTo Set i=$LF(lbTo,"ICT_DynaPlugSysOp@vanhoecke.be") Set:(i>0) $LI(lbTo,i)=RerouteTo } Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,$G(BodyIsStream,0)) If 'sc ; Set errmsg=$$ParseStatus^vhLib(sc)_" From="_From Quit semParseStatusSOAP(sc) Quit:($G(sc)="") "" New ErrMsg Set ErrMsg=$$ParseStatus^vhLib(sc) If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("SOAPlib_IsSoapFaultSupported")) { Quit:($$$GETERRORCODE(sc)=$$$SOAPFaultReceived) $S($L(ErrMsg)>(128+40):$E(ErrMsg,1,128)_"... (SNIPPED by cspBasis.SOAPlib.MAC) ..."_$E(ErrMsg,$L(ErrMsg)-40,999999), 1:ErrMsg) } Quit ErrMsg GetWSlocsDefault() Set pdlDefaultLocations=##class(TECH.Config.ConfigMgr).Instance().GetString("cspBasis.SOAPlib_TBoxWSDefaultLocations") // ";cache01\ADMIN1;cache02\JRNL-ADMIN1" Quit $$PiecesToList^vhLib(pdlDefaultLocations) ; Delim is het eerste character (nl. ";") GetLocations(Class,lbWSlocs) Quit:($G(Class)="") "" New tmpAr,tmpLB,i,Serv,NSpace New arLocations Do SoapLocationsInit Quit:('$D(arLocations(Class))) "" Merge tmpAr=arLocations(Class) Set tmpLB="" For i=1:1:$LL(lbWSlocs) Do . Set Serv=$P($LG(lbWSlocs,i),"\",1) . Set NSpace=$P($LG(lbWSlocs,i),"\",2) . Set:(NSpace="") NSpace=$O(tmpAr(Serv,"")) . If NSpace="*" Do .. ; (TO DO) Loop over all NameSpaces of the Server for this class .. ;Set tmpLB=tmpLB_$LB(tmpAr(Serv,NSpace)) . Else Do .. Do glcAddLoc($G(tmpAr(Serv,NSpace))) ; Conditional Set tmpLB=tmpLB_$LB(tmpAr(Serv,NSpace)) // Added by WimV on 06/06/2011 // Voor ondersteuning WSLocations naar lokale caché-server If ($LL(lbWSlocs)'<1)&&($LG(tmpLB,1)="") { Set tmpLB="" Do glcAddLoc($G(tmpAr("ConfigItem_Prod"))) } If ($LL(lbWSlocs)'<2)&&($LG(tmpLB,2)="") { Do glcAddLoc($G(tmpAr("ConfigItem_ProdFailOver"))) } Quit tmpLB glcAddLoc(loc) Set:($LF(tmpLB,loc)<1) tmpLB=tmpLB_$LB(loc) Quit SoapLocationsInit #define EndsWithSlash(%v) (%v?.E1"/") #define AddEndSlash(%v) If $$$Not($$$EndsWithSlash(%v)) Set %v=%v_"/" New ProductieWebServiceLocation,ProductieFailoverWebServiceLocation,DevelopmentWebServiceLocation Set ProductieWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_ProductieWebServiceLocation") ; http://195.130.157.5:88/csp/admin1/ (op CACHE01) Set ProductieFailoverWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_ProductieFailoverWebServiceLocation") ; http://195.130.157.6/csp/jrnladmin1/ (op CACHE02) Set DevelopmentWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_DevelopmentWebServiceLocation") ; http://195.130.157.6/csp/admin1/ (op CACHE02) // Iedere WebServiceLocation moet eindigen op een "/" $$$AddEndSlash(ProductieWebServiceLocation) $$$AddEndSlash(ProductieFailoverWebServiceLocation) $$$AddEndSlash(DevelopmentWebServiceLocation) Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache01lsh","ADMIN1") =ProductieFailoverWebServiceLocation_"WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.TBX.Calc.cls" Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache01lsh","ADMIN1") =ProductieFailoverWebServiceLocation_"WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.TBX.DataIO.cls" Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache01lsh","ADMIN1") =ProductieFailoverWebServiceLocation_"WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.PR.KADWeb.cls" Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") =arLocations("WS.TBX.CalcSoap","cache01lsh","ADMIN1") Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")=arLocations("WS.TBX.DataIOSoap","cache01lsh","ADMIN1") Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") =arLocations("WS.PR.KADWebSoap","cache01lsh","ADMIN1") // Added by WimV on 06/06/2011 // Voor ondersteuning WSLocations naar lokale caché-server Set arLocations("WS.TBX.CalcSoap","ConfigItem_Prod") =ProductieWebServiceLocation_"WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","ConfigItem_ProdFailOver") =ProductieFailoverWebServiceLocation_"WS.TBX.Calc.cls" Set arLocations("WS.TBX.DataIOSoap","ConfigItem_Prod") =ProductieWebServiceLocation_"WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","ConfigItem_ProdFailOver")=ProductieFailoverWebServiceLocation_"WS.TBX.DataIO.cls" Set arLocations("WS.PR.KADWebSoap","ConfigItem_Prod") =ProductieWebServiceLocation_"WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","ConfigItem_ProdFailOver") =ProductieFailoverWebServiceLocation_"WS.PR.KADWeb.cls" Set arLocations("WS.EC.WebShopClient","ConfigItem_Prod") =ProductieWebServiceLocation_"WS.EC.WebShopServer.cls" Set arLocations("WS.EC.WebShopClient","ConfigItem_ProdFailOver") =ProductieFailoverWebServiceLocation_"WS.EC.WebShopServer.cls" /* If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("x_x_x_IsInDMZ")) { Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://195.130.157.6/csp/jrnladmin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")="http://195.130.157.6/csp/jrnladmin1/WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.TBX.DataIO.cls" Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") ="http://195.130.157.6/csp/jrnladmin1/WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.PR.KADWeb.cls" ; // OLD IP-addresses (previous firewall configuration / evonet,xs4all) ;Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://195.144.69.99:88/csp/admin1/WS.TBX.Calc.cls" ;Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://195.144.69.99/csp/jrnladmin1/WS.TBX.Calc.cls" ;Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://195.144.69.99:88/csp/admin1/WS.TBX.DataIO.cls" } Else { Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://cache02/csp/jrnladmin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.TBX.Calc.cls" Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")="http://cache02/csp/jrnladmin1/WS.TBX.DataIO.cls" Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.TBX.DataIO.cls" Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") ="http://cache02/csp/jrnladmin1/WS.PR.KADWeb.cls" Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.PR.KADWeb.cls" } */ Quit