I have found strange issue, could you please check this.
On server side I have Get and Post method, and they both receive same request type for parameter.
Get method have CacheResponse attribute defined on service.
Validation rule is defined for request (POST).
On client side JsonServiceClient is used with WithCache() option.
When doing POST for request that do not pass validation, server returns response from cache instead exception.
If I remove CacheResponse attribute or WithCache() option on client, then everything is working as expected.
Full example on github: https://github.com/dejanadamovic/ss-validation-with-cache
Should now be fixed with this commit. This change is available from v5.0.3 on MyGet. Since you already have v5.0.3 installed you'll need to clear your NuGet cache, e.g:
$ nuget locals all -clear
Thank you for fast response.