int main(int argc, char** argv) { TestServer* server = new TestServer(); Client* client = new Client(new HttpClient("http://localhost:8080")); cout << SpecificationWriter::toString(server->GetProtocolHanlder()->GetProcedures()) << endl; try { server->StartListening(); Json::Value v; v["name"] = "Peter"; Json::Value result = client->CallMethod("sayHello", v); if(result.asString() != "Hello: Peter!") { cerr << "sayHello returned " << result.asString() << " but should be \"Hello: Peter!\"" << endl; return -1; } v["name"] = "Peter Spiess-Knafl"; result = client->CallMethod("sayHello", v); if(result.asString() != "Hello: Peter Spiess-Knafl!") { cerr << "sayHello returned " << result.asString() << " but should be \"Hello: Peter Spiess-Knafl!\"" << endl; return -2; } delete server; delete client; cout << argv[0] << " passed" << endl; return 0; } catch(jsonrpc::JsonRpcException e) { cerr << "Exception occured: " << e.what() << endl; delete server; delete client; return -999; } }