Cisco Prime Infrastructure API
Prime Infrastructure API Documentation

Java (HTTPClient)

There are several libraries that allow Java access to REST resources. The code shown below is based on the Apache HTTPClient.

    		
           package com.cisco.ncs.nbi;

			import org.apache.http.HttpEntity;
			import org.apache.http.HttpResponse;
			import org.apache.http.auth.AuthScope;
			import org.apache.http.auth.UsernamePasswordCredentials;
			import org.apache.http.client.methods.HttpGet;
			import org.apache.http.conn.scheme.Scheme;
			import org.apache.http.conn.scheme.SchemeSocketFactory;
			import org.apache.http.conn.ssl.SSLSocketFactory;
			import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
			import org.apache.http.impl.client.DefaultHttpClient;
			import org.apache.http.util.EntityUtils;
			
			public class SampleClient {
			
				/**
				 * @param args
				 */
				public static void main(String[] args) {
			
					DefaultHttpClient httpclient = new DefaultHttpClient();
					
			        httpclient.getCredentialsProvider().setCredentials(
			                new AuthScope("ncs-xmp-build-2", 443),
			                new UsernamePasswordCredentials("root", "Public123"));
			
					SchemeSocketFactory sf;
					try {
						sf = new SSLSocketFactory(new TrustSelfSignedStrategy());
			
						Scheme https = new Scheme("https", 443, sf);
			
						httpclient.getConnectionManager().getSchemeRegistry()
								.register(https);
			
						HttpGet httpget = new HttpGet(
								"https://ncs-xmp-build-2/webacs/api/v1/data/InventoryDetails");
						
				           System.out.println("executing request" + httpget.getRequestLine());
				            HttpResponse response = httpclient.execute(httpget);
				            HttpEntity entity = response.getEntity();
				            
				            System.out.println("----------------------------------------");
				            System.out.println(response.getStatusLine());
				            if (entity != null) {
				                System.out.println("Response content length: " + entity.getContentLength());
				            }
				            EntityUtils.consume(entity);
			
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					finally {
						 httpclient.getConnectionManager().shutdown();
					}
			
				}
    		
    		

The code above allows the use of a self signed certificate in Prime Infrastructure. Production code should not have this enabled.