@RestResource(urlMapping='/OFSHpExcept/*') global with sharing class OFSHPExceptRest { @HttpPost global static void doPost(Id Eid) { system.debug('OFSHPExceptRest.start'); RestResponse res = RestContext.response; res.addHeader('Content-Type', 'application/json'); String jsonResponse; List elist = [select id, ActivityDate, OwnerId, Subject, whatid__c, EventC_ID__c, NextEventC_ID__c, AppCdId__c, SyncCreatedDate__c, StartDateTime, EndDateTime, DurationInMinutes, Main_Visit_Location__c, Activity_Type2__c, IsScheduled__c, BeforeActivityDate__c, Purpose_Type__c, Location, Related_Opportunity1__c, Related_Service1__c, Related_Opportunity1_ID__c, Related_Service1_ID__c, WS_flg__c, HPLeaveFlg__c, EndDateTime_org__c, StartDateTime_org__c from Event where id = :Eid]; if (elist.size()<=0) { //error message:no event or wrong Id res.statusCode = 200; //jsonResponse = '{"status": "Failure", "Message": "No matching event was found"}'; jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "No matching event was found"}'; res.responseBody = blob.valueOf(jsonResponse); return; } else { elist[0].WS_flg__c = !elist[0].WS_flg__c; try{ update elist[0]; system.debug('OFSHpLeaveRest.DurationInMinutes:' + elist[0].DurationInMinutes); res.statusCode = 200; //jsonResponse = '{"status": "Success", "Message": "' + elist[0].Id + '"}'; jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorSuccess +'", "'+ System.Label.OFSErrorMessage +'": "'+ elist[0].Id +'"}'; res.responseBody = blob.valueOf(jsonResponse); return; }catch ( Exception ex ) { //error message:cannot update exception res.statusCode = 200; //jsonResponse = '{"status": "Failure", "Message": "' + ex + '"}'; jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "'+ ex +'"}'; res.responseBody = blob.valueOf(jsonResponse); return; } } } }