why not support adding optional parameters to the server method? such as: virtual Json::Value GetInfo() = 0; virtual Json::Value GetInfo(const std::string ¶m1 ) = 0; virtual Json::Value GetInfo(const std::string ¶m1, const std::string ¶m1) = 0;