샘플 클라이언트 Java 프로그램
'exportAccounts' API 메서드를 호출하는 다음 샘플 Java 프로그램입니다. API 메서드 호출의 결과가 화면에 인쇄됩니다. 실제 어플리케이션에서는 XML 데이터가 구문분석되고 기본 계정 데이터가 처리됩니다.
import java.net.HttpURLConnection; import java.net.URL; public class WebServiceClient { /** * Make an "exportAccounts" method call. */ public static void main(String[] args) throws Exception { String request = "<?xml version='1.0' encoding='UTF-8'?>\n" + "<call method=\"exportAccounts\">\n" + " <credentials login=\"sampleuser@company.com\" password=\"my.pw\"/ callerName=\"test program\">\n" + "</call>"; // Make a URL connection to the Adaptive Planning web service URL URL url = new URL("https://api.adaptiveplanning.com/api/v14"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // Set the content type, the HTTP method, and tell the connection we expect output conn.setRequestProperty("content-type", "text/xml;charset=UTF-8"); conn.setRequestMethod("POST"); conn.setDoOutput(true); // Send the request writeRequest(conn, request); // Read the response String response = readResponse(conn); // Print it out System.out.println(response); } /** * Write the request to the given URLConnection */ private static void writeRequest(HttpURLConnection conn, String request) throws Exception { conn.getOutputStream().write(request.getBytes("UTF-8")); } /** * Read the response from the given URL Connection */ private static String readResponse(HttpURLConnection conn) throws Exception { byte[] buffer = new byte[4096]; StringBuilder sb = new StringBuilder(); int amt; while ((amt = conn.getInputStream().read(buffer)) != -1) { String s = new String(buffer, 0, amt, "UTF-8"); sb.append(s); } return sb.toString(); } }