Наша цель - извлечь часть контента из Liferay Portal через сервисы SOAP с использованием Java.Мы успешно загружаем статьи прямо сейчас с помощью JournalArticleServiceSoap.Проблема в том, что для этого метода требуются и идентификатор группы, и идентификатор записи, и нам нужно получить все статьи из определенной группы.Следовательно, мы пытаемся сначала получить идентификаторы, используя AssetEntryServiceSoap, но это не удается.
AssetEntryServiceSoapServiceLocator aesssLocator = new AssetEntryServiceSoapServiceLocator();
com.liferay.client.soap.portlet.asset.service.http.AssetEntryServiceSoap assetEntryServiceSoap = null;
URL url = null;
try {
url = new URL(
"http://127.0.0.1:8080/tunnel-web/secure/axis/Portlet_Asset_AssetEntryService");
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
assetEntryServiceSoap = aesssLocator
.getPortlet_Asset_AssetEntryService(url);
} catch (ServiceException e) {
e.printStackTrace();
}
if (assetEntryServiceSoap == null) {
return;
}
Portlet_Asset_AssetEntryServiceSoapBindingStub assetEntryServiceSoapBindingStub = (Portlet_Asset_AssetEntryServiceSoapBindingStub) assetEntryServiceSoap;
assetEntryServiceSoapBindingStub.setUsername("bruno@7cogs.com");
assetEntryServiceSoapBindingStub.setPassword("bruno");
AssetEntrySoap[] entries;
AssetEntryQuery query = new AssetEntryQuery();
try {
int count = assetEntryServiceSoap.getEntriesCount(query);
System.out.println("Entries count: " + Integer.toString(count));
entries = assetEntryServiceSoap.getEntries(query);
if (entries != null) {
System.out.println(Integer.toString(entries.length));
}
for (AssetEntrySoap aes : assetEntryServiceSoap.getEntries(query)) {
System.out.println(aes.getEntryId());
}
} catch (RemoteException e1) {
e1.printStackTrace();
}
Хотя getEntriesCount () возвращает положительное значение, например 83, getEnries () всегда возвращает пустой массив.Я очень новичок на портале Liferay, но это выглядит очень странно для меня.
Кстати, здесь мы явно не ищем производительности, ключ в том, чтобы просто извлечь какой-то конкретный контент с портала удаленно.Если вы знаете какое-либо рабочее решение, ваша помощь будет принята с благодарностью.