import java.io.*;
import java.util.*;
import java.net.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.StringPart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.PartSource;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;

public class getRecordById 
{
	public static void main(String a[])
	{	
		try	
		{
			//----------------------------Fetch Auth Token ----------------------
			String authtoken = "Your Auth Token";//If you don't have a authtoken please refer this wiki https://zohocrmapi.wiki.zoho.com/using-authtoken.html
			String scope = "crmapi";

			String recordId = "2000000022020";
			String newFormat = "1";
			String selectColumns ="Leads(Lead Owner,First Name,Last Name,Email,Company)";
			
			String targetURL = "https://crm.zoho.com/crm/private/xml/Leads/getRecordById"; 
			String paramname = "content";

			PostMethod post = new PostMethod(targetURL);
			post.setParameter("authtoken",authtoken);
			post.setParameter("scope",scope);
			post.setParameter("newFormat",newFormat);
			post.setParameter("id",recordId);
			post.setParameter("selectColumns",selectColumns);

			HttpClient httpclient = new HttpClient();
			PrintWriter myout = null;


			// Execute http request
			try 
			{
				long t1 = System.currentTimeMillis();
				int result = httpclient.executeMethod(post);
				System.out.println("HTTP Response status code: " + result);
				System.out.println(">> Time taken " + (System.currentTimeMillis() - t1));

				// writing the response to a file
				myout = new PrintWriter(new File("response.xml"));
				myout.print(post.getResponseBodyAsString());

				//------------Get response as a string ----------
				String postResp = post.getResponseBodyAsString();
				System.out.println("postResp=======>"+postResp);
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}	
			finally 
			{
				myout.close();
				post.releaseConnection();
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}	
	}
}