Index: WS/TBX/SFS/OrderServiceInternal.cls.xml =================================================================== diff -u -r17 -r33 --- WS/TBX/SFS/OrderServiceInternal.cls.xml (.../OrderServiceInternal.cls.xml) (revision 17) +++ WS/TBX/SFS/OrderServiceInternal.cls.xml (.../OrderServiceInternal.cls.xml) (revision 33) @@ -24,61 +24,60 @@ 1 SecureKey:%String,EDInr:%Integer,sfsref:%String,sfsDeliveryDate:%String -ConfirmOrderResult +WS.TBX.SFS.ConfirmOrderResult 1 zoniet fout genereren. - ;If wsOrd.KLNummer '= "55946" Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Test customer not valid", ..#SERVICENAME, "CO")) - ;. Do oLogger.ErrorMail("CHK_CUST_wsORD","Customer "_wsOrd.KLNummer_" not valid") + Do OrderServiceHelper.ControleerSecureKey(SecureKey) + Set wsOrder=OrderServiceHelper.OpenWSOrder(EDInr) + ; // Controle op Test klant SFS (KLNr=55946) --> zoniet fout genereren. + ; If wsOrder.KLNummer '= "55946" { + ; Do Logger.ErrorMail("CHK_CUST_wsORD","Customer "_wsOrder.KLNummer_" not valid") + ; Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Test customer not valid")) + ; } + set sfsref = $get(sfsref) - If $piece(wsOrd.Opmerking1,$$$CRLF) '= sfsref Do - . Set wsOrd.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrd.Opmerking1 - - Set wsOrd.LeverTijd = $g(sfsDeliveryDate) + If $piece(wsOrder.Opmerking1,$$$CRLF) '= sfsref { + Set wsOrder.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrder.Opmerking1 + } - Do oLogger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$g(sfsDeliveryDate)) + Set wsOrder.LeverTijd = $get(sfsDeliveryDate) + + Do Logger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$Get(sfsDeliveryDate)) - Set scSaved = wsOrd.%Save() - If 'scSaved Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Order not saved", ..#SERVICENAME, "CO")) - . Do oLogger.Error("SAVE_wsORD","EDInr: "_EDInr_" not saved : "_$$ParseStatus^vhLib.System(scSaved)) + ;Do OrderServiceHelper.SaveWSOrder(wsOrder) ; Deze Save() is overbodig als de SubmitWSOrder() in ditzelfde caché-process wordt afgehandeld. + Do OrderServiceHelper.SubmitWSOrder(wsOrder) - Set scOrdered = ##class(APPS.TBXWeb.OrderHandling).Order(wsID,"VHEPN","SFS") - If 'scOrdered Do Do ..ReturnFault(##class(WS.WSServerFault).%New(SFSMessage, ..#SERVICENAME, "CO")) - . Set SFSMessage = ..GetSFSMessage(scOrdered) - . Do oLogger.Error("wsORD_ORDER","Order not confirmed : "_$$ParseStatus^vhLib.System(scOrdered)) + Do Logger.Info("wsORD_ORDER","Order "_EDInr_" ordered") - Do oLogger.Info("wsORD_ORDER","Order "_EDInr_" ordered") + // Return EDI number + Set OrderResult=##class(WS.TBX.SFS.ConfirmOrderResult).%New(EDInr,3) ; .%New(EDInr,$$ProductieDagen^FLOWHALUX()) + Quit OrderResult - // Return EDI number for testing purposes - Quit ##class(ConfirmOrderResult).%New(EDInr,3) - //Quit ##class(ConfirmOrderResult).%New(EDInr,$$ProductieDagen^FLOWHALUX()) + +ConfirmOrderError + Set $ZTrap="" + Set Exception=##class(TECH.ExceptionHandler).Catch() + Set ErrorMessage="" + If (Exception.%Extends("WS.TBX.OrderService.VerwerkingException")) { + // Deze specifieke exceptions zijn reeds gelogd. Hier enkel de SoapFault opzetten + Set ErrorMessage=Exception.GeefOmschrijving() + } + Else + { + // Alle andere exceptions en caché-errors worden hier gelogd+gemaild naar ICT + Set ErrorMessage="Error in confirmation of order "_EDInr_". Van Hoecke ICT has been notified." + Do Logger.ErrorMail("HAEFELE_ORDER",ErrorMessage_$$$CRLF_Exception.GeefOmschrijving()_" "_Exception.ToString()) + } + Do ..ReturnFault(##class(WS.WSServerFault).%New(ErrorMessage, ..#SERVICENAME, "CO")) ]]> - - -1 -Status:%Status -%String - -