Realización de llamadas REST en una aplicación Java

Puede utilizar métodos Java™ estándar para acceder a la API REST de TADDM.

Para acceder a las interfaces de REST de manera segura utilizando una conexión HTTPS, antes debe copiar el certificado de seguridad jssecacerts.cert en el sistema del cliente. Este archivo se encuentra en el directorio $COLLATION_HOME/etc del servidor de TADDM.

El ejemplo siguiente muestra cómo acceder a la API REST desde un programa Java.

Para acceder a la API REST desde un programa Java, utilice los métodos Java estándar para la comunicación HTTP.
En este ejemplo, se accede a la API de REST utilizando una conexión HTTPS segura:
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();
             }
         }