I briefly looked into gRPC. But I wanted to do RPC requests in both directions (I guess maybe that's not really RPC but I wanted blocking request/response conversations). So I didn't end up using gRPC.
But I did use protobuf, which is the schema specification used by gRPC. It's quite nice. The format is simple and clean and there are bindings for many languages. Not as expressive as XSDs but much more simple and fast.
It has a strong focus on compatibility with old interfaces, which results in things like all fields being optional, which I'm not super fond of.