Я использую kaltura, чтобы получить Media API внутри сервлета, чтобы получить информацию метаданных. ниже приведен код, присутствующий внутри моего метода doGet Sling-servlet. Это дает ошибку, когда я ударил сервлет из AEM. Я развернул комплект, содержащий этот сервлет, а также сервлет успешно зарегистрирован.
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServerException, IOException {
try {
PrintWriter out = response.getWriter();
Client client = KalturaMetadataServlet.generateKalturaClient();
String entryId = "*******";
int version = -1;
MediaService.GetMediaBuilder requestBuilder = MediaService.get(entryId, version)
.setCompletion(new OnCompletion<Response<MediaEntry>>() {
@Override
public void onComplete(Response<MediaEntry> result) {
System.out.println("This is final getMediaType:"+result.results.getMediaType());
System.out.println("This is final thumbnailUrl:"+result.results.getThumbnailUrl());
out.print(result);
}
});
APIOkRequestsExecutor.getExecutor().queue(requestBuilder.build(client));
// out.println(CodeExample.str);
//out.println("<html><body>");
// out.println("<h1>This value was returned by an AEM Sling Servlet bound by using a Sling ResourceTypes property</h1>");
// out.println("</html></body>");
} catch (Exception e) {
log.info(e.getMessage(), e);
}
}
public static Client generateKalturaClient() {
Configuration config = new Configuration();
config.setEndpoint("https://www.kaltura.com/");
Client client = new Client(config);
try {
String session = client.generateSessionV2(
"**********************",
"*******@*****.com",
SessionType.ADMIN,
*******,
86400, "");
client.setSessionId(session);
} catch (Exception e) {
System.out.println("Failed to start Kaltura session");
System.exit(1);
}
return client;
}