S S created AVRO-1423:
-------------------------
Summary: Avrogen doesn't create the RPC methods from .avrp files
Key: AVRO-1423
URL: https://issues.apache.org/jira/browse/AVRO-1423
Project: Avro
Issue Type: Bug
Components: csharp
Affects Versions: 1.7.5
Reporter: S S
Priority: Blocker
1. Get the .avpr file from
https://github.com/phunt/avro-rpc-quickstart/blob/master/src/main/avro/mail.avpr
2. use the csharp avrogen.exe (eg:
release-1.7.5\lang\csharp\build\codegen\Release\avrogen.exe ) to produce the
csharp code-gen files as {code} avrogen.exe -p mail.avpr . {code}
3. Review the generated .cs file - no RPC methods found (you should have a
{code} public String send (Message message) { ... } {code} method in that
code-gen'd .cs file; current code-gen copy-pasted below)
{code}
//
------------------------------------------------------------------------------
// <auto-generated>
// Generated by avrogen.exe, version 0.9.0.0
// Changes to this file may cause incorrect behavior and will be lost if code
// is regenerated
// </auto-generated>
//
------------------------------------------------------------------------------
namespace example.proto
{
using System;
using System.Collections.Generic;
using System.Text;
using Avro;
using Avro.Specific;
public partial class Message : ISpecificRecord
{
public static Schema _SCHEMA =
Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"Message\",\"namespace\":\"example.proto\",\"fields\":[{\"name\":\""
+
"to\",\"type\":\"string\"},{\"name\":\"from\",\"type\":\"string\"},{\"name\":\"body\",\"type\":\"stri"
+
"ng\"}]}");
private string _to;
private string _from;
private string _body;
public virtual Schema Schema
{
get
{
return Message._SCHEMA;
}
}
public string to
{
get
{
return this._to;
}
set
{
this._to = value;
}
}
public string from
{
get
{
return this._from;
}
set
{
this._from = value;
}
}
public string body
{
get
{
return this._body;
}
set
{
this._body = value;
}
}
public virtual object Get(int fieldPos)
{
switch (fieldPos)
{
case 0: return this.to;
case 1: return this.from;
case 2: return this.body;
default: throw new AvroRuntimeException("Bad index " +
fieldPos + " in Get()");
};
}
public virtual void Put(int fieldPos, object fieldValue)
{
switch (fieldPos)
{
case 0: this.to = (System.String)fieldValue; break;
case 1: this.from = (System.String)fieldValue; break;
case 2: this.body = (System.String)fieldValue; break;
default: throw new AvroRuntimeException("Bad index " +
fieldPos + " in Put()");
};
}
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)