Как вызвать класс-специфический метод JSON RPC 4
Я работаю с JSON-RPC v2, используя com.github.briandilley.jsonrpc4j. Я просматриваю документ, предоставленный поставщиком, который дал код Python.
params = {'query':'name = \'ABC \''}
list = server.call(session, 'class.A', 'search', params)
Я должен сделать то же самое в Java, используя эту библиотеку, поэтому я написал что-то вроде этого
List<String> list = a.rpcCall("class.A.search",new Object[]{"query":"name = \'ABC \'"},List.class);
private <T> T rpcCall(String methodName, Object[] object,Class<T> classtype) {
T classList = null;
try {
classList= client.invoke(methodName, object,classtype);
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return classList;
}
но я получил исключение, как это
com.googlecode.jsonrpc4j.JsonRpcClientException: Method not implemented: class.A.search
at com.googlecode.jsonrpc4j.DefaultExceptionResolver.createJsonRpcClientException(DefaultExceptionResolver.java:53)
at com.googlecode.jsonrpc4j.DefaultExceptionResolver.resolveException(DefaultExceptionResolver.java:28)
at com.googlecode.jsonrpc4j.JsonRpcClient.handleErrorResponse(JsonRpcClient.java:270)
at com.googlecode.jsonrpc4j.JsonRpcClient.readResponse(JsonRpcClient.java:196)
at com.googlecode.jsonrpc4j.JsonRpcClient.readResponse(JsonRpcClient.java:529)
at com.googlecode.jsonrpc4j.JsonRpcHttpClient.invoke(JsonRpcHttpClient.java:148)
at com.googlecode.jsonrpc4j.JsonRpcHttpClient.invoke(JsonRpcHttpClient.java:118)
at com.googlecode.jsonrpc4j.JsonRpcHttpClient.invoke(JsonRpcHttpClient.java:176)
at Autheticate.rpcCall(Autheticate.java:58)
at Autheticate.main(Autheticate.java:47)
Пожалуйста, дайте мне знать, как вызвать метод класса в RPC и как передать идентификатор сессии?