Files and Libraries

The following files and libraries are available:

License

Created May 22, 2008 9:20:28 PM

The license file governing the use of this API.

Files

name size
LICENSE.txt 128.00bytes

C Client Library

Created Jan 9, 2012 2:51:17 PM

Introduction

The C module generates the source code for the ANSI-C-compatible data structures and (de)serialization functions that can be used in conjunction with libxml2 to (de)serialize the REST resources as they are represented as XML data.

The generated C source code depends on the XML Reader API and the XML Writer API as well as the <time.h>, <string.h>, and <stdlib.h> C standard libraries.

REST XML Example

#include <ifyouwannabecool.c> //... xmlTextReaderPtr reader = ...; //set up the reader to the url. ifyouwannabecool_persona_persona *response_element = ...; response_element = xml_read_ifyouwannabecool_persona_persona(reader); //handle the response as needed... //free the ifyouwannabecool_persona_persona free_ifyouwannabecool_persona_persona(response_element);

Files

name size description
ifyouwannabecool.c 48.99K
enunciate-common.c 38.69K Common code needed for all projects.

.NET Client Library

Created Jan 9, 2012 2:51:18 PM

Introduction

The .NET client-side library may be used to access the SOAP API for this application via the .NET runtime.

.NET Service Example

//instantiate a new service... PersonaService service = new PersonaService(); //make the remote call... result = service.ReadPersona(personaId); //handle the result as needed...

The .NET client-side library defines the classes that can be (de)serialized to/from XML. This is useful for accessing the REST endpoints that are published by this application.

REST Example

//read a resource from a REST url Uri uri = new Uri(...); XmlSerializer s = new XmlSerializer( typeof( Persona ) ); //Create the request object WebRequest req = WebRequest.Create(uri); WebResponse resp = req.GetResponse(); Stream stream = resp.GetResponseStream(); TextReader r = new StreamReader( stream ); Persona order = (Persona) s.Deserialize( r ); //handle the result as needed...

This bundle contains C# source code.

Files

name size
ifyouwannabecool-dotnet.zip 2.15K

Java Client Library

Created Jan 9, 2012 2:51:18 PM

Introduction

The Java client-side library is used to access the Web service API for this application.

The Java client-side uses JAX-WS to access the SOAP API for this application.

JAX-WS Example

// instantiate a new service with an impl // (or through dependency injection, or whatever)... PersonaService service = new PersonaService(); //make the remote call to read the result... result = service.readPersona(personaId); //handle the result as needed...

The JAX-WS client-side library is used to provide the set of Java objects that can be serialized to/from XML using JAXB. This is useful for accessing the REST endpoints that are published by this application.

REST Example (Raw JAXB)

java.net.URL url = new java.net.URL(baseURL + "/persona/{id}"); JAXBContext context = JAXBContext.newInstance( Persona.class ); java.net.URLConnection connection = url.openConnection(); connection.connect(); Unmarshaller unmarshaller = context.createUnmarshaller(); Persona result = (Persona) unmarshaller.unmarshal( connection.getInputStream() ); //handle the result as needed...

REST Example (Jersey client)

com.sun.jersey.api.client.Client client = com.sun.jersey.api.client.Client.create(); Persona result = client.resource(baseUrl + "/persona/{id}") .get(Persona.class); //handle the result as needed...

Files

name size description
ifyouwannabecool-client.jar 25.20K The binaries for the Java client library.
ifyouwannabecool-client-sources.jar 15.66K The sources for the Java client library.

Java JSON Client Library

Created Jan 9, 2012 2:51:18 PM

Introduction

The Java client-side library is used to provide the set of Java objects that can be serialized to/from JSON using Jackson. This is useful for accessing the JSON REST endpoints that are published by this application.

REST Example (Raw Jackson)

java.net.URL url = new java.net.URL(baseURL + "/persona/{id}"); ObjectMapper mapper = new ObjectMapper(); java.net.URLConnection connection = url.openConnection(); connection.connect(); Persona result = (Persona) mapper.readValue( connection.getInputStream(), Persona.class ); //handle the result as needed...

Files

name size description
ifyouwannabecool-json-client.jar 2.45K The binaries for the Java JSON client library.
ifyouwannabecool-json-client-sources.jar 1.84K The sources for the Java JSON client library.

Objective C Client Library

Created Jan 9, 2012 2:51:18 PM

Introduction

The Objective C module generates the source code for the Objective C classes and (de)serialization functions that can be used in conjunction with libxml2 to (de)serialize the REST resources as they are represented as XML data.

The generated Objective C source code depends on the XML Reader API and the XML Writer API as well as the base OpenStep foundation classes.

REST XML Example

#import <ifyouwannabecool.h> //... IFYOUWANNABECOOLPERSONAPersona *responseElement; NSData *responseData; //data holding the XML from the response. NSURL *baseURL = ...; //the base url including the host and subpath. NSURL *url = [NSURL URLWithString: @"/persona/{id}" relativeToURL: baseURL]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; NSURLResponse *response = nil; NSError *error = NULL; [request setHTTPMethod: @"GET"]; //this example uses a synchronous request, //but you'll probably want to use an asynchronous call responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; IFYOUWANNABECOOLPERSONAPersona *responseElement = [IFYOUWANNABECOOLPERSONAPersona readFromXML: responseData]; [responseElement retain]; //handle the response as needed...

Files

name size description
ifyouwannabecool.h 3.00K
ifyouwannabecool.m 38.32K
enunciate-common.h 12.22K Common header needed for all projects.
enunciate-common.m 41.77K Common implementation code needed for all projects.