Wiki Markup |
---|
This page details the steps necessary to create a REST client, using eclipse, that is able to communicate with the holiday web service. |
...
1. Create a new project using eclipse
2. Add the Jersey jars to the buildpath.
3. Go to run configurations and add the Jersey jars to the classpath
NOTE: When creating a client for the test server it is required that you add the test site's certificate to the keystore as described here,
and then run the project with arguments (In Eclipse these should be added to the VM arguments of your project's run
configuration):
...
For the client I used [Jersey|http://jersey.java.net/], and downloaded the client and core jars [here|http://jersey.java.net/nonav/documentation/latest/chapter_deps.html#core_client]. *1. Create a new project using eclipse* *2. Add the Jersey jars to the buildpath.* *3. Go to run configurations and add the Jersey jars to the classpath* NOTE: When creating a client for the test server it is required that you add the test site's certificate to the keystore as described [here|http://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html], and then run the project with arguments (In Eclipse these should be added to the VM arguments of your project's run configuration): \-Djavax.net.ssl.trustStore=/path/to/keystore |
...
\-Djavax.net.ssl.trustStorePassword=changeit (default password is changeit) |
...
*4. |
...
Create the main method* import javax.ws.rs.core.MultivaluedMap; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.core.util.MultivaluedMapImpl; public class holidayClientMain { public static void main(String\[\] args) \{ try \{ Client client = Client.create(); WebResource webResource = client.resource("https://www.test.hawaii.edu/its/ws/holiday/rest/closest"); |
...
MultivaluedMap<String, String> parameters = new MultivaluedMapImpl(); parameters.add("date", "2012-01-01") |
...
; parameters.add("isObserved", "true") |
...
; ClientResponse response = webResource.queryParams(parameters).accept("application.json").get(ClientResponse.class); |
...
if (response.getStatus() \!= 200) |
...
\{ throw new RuntimeException("Failed : HTTP error code : " + response.getStatus()); |
...
\} String output = response.getEntity(String.class) |
...
; System.out.println("Output from Server .... \n") |
...
; System.out.println(output) |
...
; \} catch (Exception e) \{ e.printStackTrace(); \} \} \} |