В своих приложениях можно использовать веб-службы IBM® Rational Asset Manager.
Rational Asset Manager публикует веб-службы для работы с хранилищем. Для создания собственных приложений, взаимодействующих с сервером Rational Asset Manager, используется файл WSDL (язык описания веб-служб) Rational Asset Manager.
Для подключения к серверу Rational Asset Manager через веб-службы выполните следующие действия:
public class RAMClient {
public static final String RAM_LOCATION = "http://server:port/com.ibm.ram.repository.web.ws.was";
public void doSearchAndDownload() throws Exception {
String SECURE_PREFIX = "/RAMSecure"; // Используется, когда указаны имя пользователя и пароль
String RAM_WS_LOCATION = RAM_LOCATION + SECURE_PREFIX + "/services/RAM1";
String USERNAME = "admin";
String PASSWORD = "admin";
// Создание заготовки WebSerivces
RAM1 ramWebService = new RAM1ServiceLocator().getRAM1(new URL(RAM_WS_LOCATION));
if (ramWebService instanceof Stub) {
Stub axisStub = (Stub) ramWebService;
// Установка имени пользователя и пароля
axisStub.setUsername(USERNAME);
axisStub.setPassword(PASSWORD);
}
// Получение констант для вызова веб-служб
Constants constants = ramWebService.getConstants();
// Поиск ресурсов, имена которых начинаются с 'soa' и чьим владельцем является пользователь 'admin'.
String[] queries = new String[2];
queries[0] = constants.getQUERY_NAME()+":(soa*)";
queries[1] = constants.getQUERY_OWNER()+":(admin)";
SearchResultSO searchResults = ramWebService.search(queries, null, true,
constants.getSORT_LAST_MODIFIED(), 0, -1, -1, false, Locale.getDefault().toString());
// Загрузка найденных ресурсов
String RAM_ASSET_LOCATION = RAM_LOCATION + SECURE_PREFIX + "/RAMAssetAccess.jsp?";
SearchAssetInformationSO[] searchAssets = searchResults.getSearchAssets();
for (int ac = 0; ac < searchAssets.length; ac++) {
String assetID = searchAssets[ac].getGUID();
String assetVersion = searchAssets[ac].getVersion();
String encodedAssetID = URLEncoder.encode(assetID, "UTF-8");
String encodedAssetVersion = URLEncoder.encode(assetVersion, "UTF-8");
String assetLocation = RAM_ASSET_LOCATION + "assetid="+encodedAssetID+"&version="+encodedAssetVersion;
downloadAssetUsingHTTPGet(assetLocation, USERNAME, PASSWORD);
}
}
private void downloadAssetUsingHTTPGet(String assetLocation, String username, String password) {
// Загрузка ресурса
}
}