Tworzenie wywołań REST w aplikacji Java
Do uzyskania dostępu do interfejsu REST API TADDM można użyć standardowych metod języka Java™ .
Aby bezpiecznie uzyskać dostęp do interfejsów REST przy użyciu połączenia HTTPS, należy najpierw skopiować certyfikat bezpieczeństwa jssecacerts.cert do systemu klienckiego. Plik ten znajduje się w katalogu $COLLATION_HOME/etc na serwerze TADDM.
W poniższym przykładzie przedstawiono sposób uzyskiwania dostępu do interfejsu REST API z poziomu programu Java.
Aby uzyskać dostęp do interfejsu API usług REST z poziomu programu Java, należy użyć standardowych metod języka Java dla komunikacji HTTP.
W tym przykładzie uzyskuje się dostęp do interfejsu REST API przy użyciu bezpiecznego połączenia HTTPS:
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
System.out.println("Warning: URL Host: "+urlHostName+" vs. "
+session.getPeerHost());
return true;
}
};
// set this property to the location of the cert file
System.setProperty("javax.net.ssl.trustStore", "jssecacerts.cert");
HttpsURLConnection.setDefaultHostnameVerifier(hv);
URL url = new
URL("https://cab.tivlab.austin.ibm.com:9431/rest/model/"+
"Repository?depth=1&feed=json");
HttpsURLConnection urlConn = (HttpsURLConnection) url.openConnection();
System.out.println("sending request...");
urlConn.setRequestMethod("GET");
urlConn.setAllowUserInteraction(false); // no user interaction
urlConn.setDoOutput(true); // want to send
urlConn.setRequestProperty( "Content-type", "text/xml" );
urlConn.setRequestProperty( "accept", "text/xml" );
urlConn.setRequestProperty( "authorization", "Basic " +
encode("administrator:collation"));
Map headerFields = urlConn.getHeaderFields();
System.out.println("header fields are: " + headerFields);
int rspCode = urlConn.getResponseCode();
if (rspCode == 200) {
InputStream ist = urlConn.getInputStream();
InputStreamReader isr = new InputStreamReader(ist);
BufferedReader br = new BufferedReader(isr);
String nextLine = br.readLine();
while (nextLine != null) {
System.out.println(nextLine);
nextLine = br.readLine();
}
}