在 Java 應用程式中進行 REST 呼叫
您可以使用標準 Java™ 方法來存取 TADDM REST API。
若要使用 HTTP 連線安全地存取 REST 介面,您必須先將 jssecacerts.cert 安全憑證複製到用戶端系統。 此檔案位於 TADDM 伺服器上的 $COLLATION_HOME/etc 目錄中。
下列範例顯示如何從 Java 程式存取 REST API。
若要從 Java 程式存取 REST API ,請使用標準 Java 方法進行 HTTP 通訊。
此範例使用安全 HTTP 連線來存取 REST API:
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();
}
}