{"namespace": "org.apache.avro.test", "protocol": "Simple", "doc": "Protocol used for testing.", "types": [ {"name": "Kind", "type": "enum", "symbols": ["FOO","BAR","BAZ"]}, {"name": "MD5", "type": "fixed", "size": 16}, {"name": "TestRecord", "type": "record", "fields": [ {"name": "name", "type": "string", "order": "ignore"}, {"name": "kind", "type": "Kind", "order": "descending"}, {"name": "hash", "type": "MD5"} ] }, {"name": "TestError", "type": "error", "fields": [ {"name": "message", "type": "string"} ] }, {"name": "TestRecordWithUnion", "type": "record", "fields": [ {"name": "kind", "type": ["null", "Kind"]}, {"name": "value", "type": ["null", "string"]} ] } ], "messages": { "hello": { "doc": "Send a greeting", "request": [{"name": "greeting", "type": "string"}], "response": "string" }, "echo": { "doc": "Pretend you're in a cave!", "request": [{"name": "record", "type": "TestRecord"}], "response": "TestRecord" }, "add": { "request": [{"name": "arg1", "type": "int"}, {"name": "arg2", "type": "int"}], "response": "int" }, "echoBytes": { "request": [{"name": "data", "type": "bytes"}], "response": "bytes" }, "error": { "doc": "Always throws an error.", "request": [], "response": "null", "errors": ["TestError"] }, "ack": { "doc": "Send a one way message", "request": [], "response": "null", "one-way": true } } }