O Rational Asset Manager publica serviços da Web que permitem trabalhar com o repositório. Utilize o arquivo WSDL (Web Services Descriptor Language) do Rational Asset Manager para desenvolver aplicativos customizados que interajam com o servidor do Rational Asset Manager.
Para conectar-se ao servidor Rational Asset Manager usando os serviços da Web:
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"; // A ser utilizado quando nome de usuário e senha são fornecidos
String RAM_WS_LOCATION = RAM_LOCATION + SECURE_PREFIX + "/services/RAM1";
String USERNAME = "admin";
String PASSWORD = "admin";
// Stub de Serviços da Web do Constructo
RAM1 ramWebService = new RAM1ServiceLocator().getRAM1(new URL(RAM_WS_LOCATION));
if (ramWebService instanceof Stub) {
Stub axisStub = (Stub) ramWebService;
// Configurar nome do usuário e senha
axisStub.setUsername(USERNAME);
axisStub.setPassword(PASSWORD);
}
// Obter constantes para chamar Serviços da Web
Constants constants = ramWebService.getConstants();
// Procurar recursos com nome iniciando com 'soa' e de propriedade do usuário '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());
// Fazer Download de recursos obtidos a partir da procura
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) {
// Fazer Download de recurso
}
}