Since decimal is a Value type and if we use the Required attribute to a value type, it will cause an error.. it will always have a value (the default of 0) if the incoming request does not provide the value.
Now I am using [DataMember(isRequired=true)] instead of [Required] attribute