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();
             }
         }