BasicOperationService implementation changed in a way to capture
exceptions and errors that happen while deserialization of the operation
itself and propagate them back to the caller.
Merge pull request #2510 from noctarius/issue2509

Clean reimplementation to fix issue #2509