Доброго времени суток уважаемые разработчики.
Собственно наткнулся на то, что
web-сервис можно дергать через JSON RPCИ тут стало интересно, не могу ли я таким же образом обратиться к своему веб-сервису, написанному в CustomAPI.
Оказалось, что не могу.
НООказалось, что если переписать класс
ru.bitel.bgbilling.kernel.container.ws.server.JsonWsHandlerИ добавить в него поиск своего сервиса
Код:
Class<?> implementorClass;
if(moduleKey.service.equals("TestService")){
implementorClass = findCustomApiEndpointClass(moduleKey);
}
else{
implementorClass = this.findEndpointClass(moduleKey);
}
if (implementorClass == null) {
throw new BGException("Не найден сервис: " + moduleKey.module + ":" + moduleKey.service);
}
Код:
private Class<?> findCustomApiEndpointClass(ModuleKey moduleKey) {
try {
return DynamicClassManager.getInstance().loadClass("api.ru.ellco.bgbilling.test.impl.TestServiceImpl");
} catch (BGException e) {
log.error(e.getMessage(), e);
return null;
}
}
Оказалось, что всё прекрасно вызывается.
И даже более тогоОказалось, что в таком случае пашет и встроенная авторизация
Необходимо передавать юзера в строке
Код:
"user" :{ "user" : "login", "pswd" : "password" },
иначе выдает ошибку
Возможно вы посодействуете в том, чтобы некоторым людям (мне это пока не нужно, но всё же) - было удобнее.
Возможно появится какой нибудь
/json/api/ по аналогии с поиском по какому-нибудь модулю или т.п.