Introduction
The following items are available for download:
C Client Library
Created Apr 14, 2010 1:34:29 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 <nexus-plugin-console-plugin.c>
//...
xmlTextReaderPtr reader = ...; //set up the reader to the url.
nexus_plugin_console_plugin_ns0_pluginInfoListResponseDTO *response_element = ...;
response_element = xml_read_nexus_plugin_console_plugin_ns0_pluginInfoListResponseDTO(reader);
//handle the response as needed...
//free the nexus_plugin_console_plugin_ns0_pluginInfoListResponseDTO
free_nexus_plugin_console_plugin_ns0_pluginInfoListResponseDTO(response_element);
file | size |
---|---|
nexus-plugin-console-plugin.c | 87.25K |
.NET Client Library
Created Apr 14, 2010 1:34:30 PM for .NET 2.0.
Introduction
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( PluginInfoListResponseDTO )
);
//Create the request object
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
TextReader r = new StreamReader( stream );
PluginInfoListResponseDTO order = (PluginInfoListResponseDTO) s.Deserialize( r );
//handle the result as needed...
This bundle contains C# source code.
file | size |
---|---|
nexus-plugin-console-plugin-dotnet.zip | 1011.00bytes |
JAX-WS Client Library (Java 5+)
Created Apr 14, 2010 1:34:30 PM for Java (Version 5+).
Introduction
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 + "/plugin_console/plugin_infos");
JAXBContext context = JAXBContext.newInstance( PluginInfoListResponseDTO.class );
java.net.URLConnection connection = url.openConnection();
connection.connect();
Unmarshaller unmarshaller = context.createUnmarshaller();
PluginInfoListResponseDTO result = (PluginInfoListResponseDTO) 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();
PluginInfoListResponseDTO result = client.resource(baseUrl + "/plugin_console/plugin_infos")
.get(PluginInfoListResponseDTO.class);
//handle the result as needed...
Files
file | size | description |
---|---|---|
nexus-plugin-console-plugin-client.jar | 3.74K | The binaries for the JAX-WS client library. |
nexus-plugin-console-plugin-client-sources.jar | 2.01K | The sources for the JAX-WS client library. |
Objective C Client Library
Created Apr 14, 2010 1:34:29 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
#include <nexus-plugin-console-plugin.h>
//...
NEXUS_PLUGIN_CONSOLE_PLUGINNS0PluginInfoListResponseDTO *responseElement;
NSData *responseData; //data holding the XML from the response.
NSURL *baseURL = ...; //the base url including the host and subpath.
NSURL *url = [NSURL URLWithString: @"/plugin_console/plugin_infos" 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];
NEXUS_PLUGIN_CONSOLE_PLUGINNS0PluginInfoListResponseDTO *responseElement = [NEXUS_PLUGIN_CONSOLE_PLUGINNS0PluginInfoListResponseDTO readFromXML: responseData];
[responseElement retain];
//handle the response as needed...
Files
file | size | description |
---|---|---|
nexus-plugin-console-plugin.h | 6.15K | |
nexus-plugin-console-plugin.m | 78.63K |
Ruby Client Library
Created Apr 14, 2010 1:34:29 PM for Ruby.
Introduction
The Ruby client-side library defines the Ruby classes that can be (de)serialized to/from JSON. This is useful for accessing the REST endpoints that are published by this application, but only those that produce a JSON representation of their resources (content type "application/json").
This library leverages the Ruby JSON Implementation, which is required in order to use this library.
JSON REST Example
require 'net/https'
require 'uri'
//...
//read a resource from a REST url
url = URI.parse("...")
request = Net::HTTP::Get.new(url.request_uri)
http = Net::HTTP.new(url.host, url.port)
//set up additional http stuff...
res = http.start do |ht|
ht.request(request)
end
result = PluginInfoListResponseDTO.from_json(JSON.parse(res.body))
//handle the result as needed...
file | size |
---|---|
nexus-plugin-console-plugin.rb | 5.94K |