Web service for SFS to confirm orders This is the internal version, called by our proxy running in the DMZ APPS.TBXWeb 1 %SOAP.WebService 0 Name of the WebService. OrderServiceInternal SOAP Namespace for the WebService http://www.vanhoecke.be/SFS 1 SecureKey:%String,EDInr:%Integer,sfsref:%String,sfsDeliveryDate:%String WS.TBX.SFS.ConfirmOrderResult 1 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(wsOrder.Opmerking1,$$$CRLF) '= sfsref { Set wsOrder.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrder.Opmerking1 } Set wsOrder.LeverTijd = $get(sfsDeliveryDate) Do Logger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$Get(sfsDeliveryDate)) ;Do OrderServiceHelper.SaveWSOrder(wsOrder) ; Deze Save() is overbodig als de SubmitWSOrder() in ditzelfde caché-process wordt afgehandeld. Do OrderServiceHelper.SubmitWSOrder(wsOrder) Do Logger.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 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("SFS_ORDER",ErrorMessage_$$$CRLF_Exception.GeefOmschrijving()_" "_Exception.ToString()) } Do ..ReturnFault(##class(WS.WSServerFault).%New(ErrorMessage, ..#SERVICENAME, "CO")) ]]>