Files and Libraries
The following files and libraries are available:
- C Client Library
- .NET Client Library
- Java Client Library
- Java JSON Client Library
- Objective C Client Library
- PHP Client Library
- Ruby Client Library
C Client Library
Created Apr 24, 2024 9:25:32 AM
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 <mysmsapi.c>
//...
xmlTextWriterPtr writer = ...; //set up the writer to the url.
mysmsapi_ns0_externalAccountConnectRequest *request_element = ...;
xmlTextReaderPtr reader = ...; //set up the reader to the url.
mysmsapi_ns0_externalAccountConnectResponse *response_element = ...;
//set up the mysmsapi_ns0_externalAccountConnectRequest...
xml_write_mysmsapi_ns0_externalAccountConnectRequest(writer, request_element);
response_element = xml_read_mysmsapi_ns0_externalAccountConnectResponse(reader);
//handle the response as needed...
//free the mysmsapi_ns0_externalAccountConnectRequest
free_mysmsapi_ns0_externalAccountConnectRequest(request_element);
//free the mysmsapi_ns0_externalAccountConnectResponse
free_mysmsapi_ns0_externalAccountConnectResponse(response_element);
Files
name | size | description |
---|---|---|
mysmsapi.c | 4.18M | |
enunciate-common.c | 39.67K | Common code needed for all projects. |
.NET Client Library
Created Apr 24, 2024 9:26:01 AM
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( ExternalAccountConnectResponse )
);
//Create the request object
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
TextReader r = new StreamReader( stream );
ExternalAccountConnectResponse order = (ExternalAccountConnectResponse) s.Deserialize( r );
//handle the result as needed...
This bundle contains C# source code.
Files
name | size |
---|---|
mysmsapi-dotnet.zip | 24.41K |
Java Client Library
Created Apr 24, 2024 9:26:07 AM
Introduction
The Java client-side library is used to access the Web service API for this application.
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 + "/external/account/connect");
JAXBContext context = JAXBContext.newInstance( ExternalAccountConnectResponse.class, ExternalAccountConnectRequest.class );
java.net.URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.connect();
Unmarshaller unmarshaller = context.createUnmarshaller();
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(externalAccountConnectRequest, connection.getOutputStream());
ExternalAccountConnectResponse result = (ExternalAccountConnectResponse) 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();
ExternalAccountConnectResponse result = client.resource(baseUrl + "/external/account/connect")
.entity(externalAccountConnectRequest)
.post(ExternalAccountConnectResponse.class);
//handle the result as needed...
Files
name | size | description |
---|---|---|
mysmsapi-client.jar | 192.89K | The binaries for the Java client library. |
mysmsapi-client-sources.jar | 145.91K | The sources for the Java client library. |
Java JSON Client Library
Created Apr 24, 2024 9:26:09 AM
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 + "/external/account/connect");
ObjectMapper mapper = new ObjectMapper();
java.net.URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.connect();
mapper.writeValue(connection.getOutputStream(), externalAccountConnectRequest);
ExternalAccountConnectResponse result = (ExternalAccountConnectResponse) mapper.readValue( connection.getInputStream(), ExternalAccountConnectResponse.class );
//handle the result as needed...
Files
name | size | description |
---|---|---|
mysmsapi-json-client.jar | 157.76K | The binaries for the Java JSON client library. |
mysmsapi-json-client-sources.jar | 139.95K | The sources for the Java JSON client library. |
Objective C Client Library
Created Apr 24, 2024 9:25:37 AM
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 <mysmsapi.h>
//...
MYSMSAPINS0ExternalAccountConnectRequest *requestElement = [[MYSMSAPINS0ExternalAccountConnectRequest alloc] init];
NSData *requestData; //data holding the XML for the request.
MYSMSAPINS0ExternalAccountConnectResponse *responseElement;
NSData *responseData; //data holding the XML from the response.
NSURL *baseURL = ...; //the base url including the host and subpath.
NSURL *url = [NSURL URLWithString: @"/external/account/connect" relativeToURL: baseURL];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSURLResponse *response = nil;
NSError *error = NULL;
[request setHTTPMethod: @"POST"];
[request setValue:@"application/xml" forHTTPHeaderField:@"Content-Type"];
//set up the MYSMSAPINS0ExternalAccountConnectRequest...
requestData = [requestElement writeToXML];
[request setHTTPBody: requestData];
//this example uses a synchronous request,
//but you'll probably want to use an asynchronous call
responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
MYSMSAPINS0ExternalAccountConnectResponse *responseElement = [MYSMSAPINS0ExternalAccountConnectResponse readFromXML: responseData];
[responseElement retain];
//handle the response as needed...
Files
name | size | description |
---|---|---|
mysmsapi.h | 201.53K | |
mysmsapi.m | 2.58M | |
enunciate-common.h | 12.82K | Common header needed for all projects. |
enunciate-common.m | 42.34K | Common implementation code needed for all projects. |
PHP Client Library
Created Apr 24, 2024 9:25:37 AM
Introduction
The PHP client-side library defines the PHP 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 requires the json_encode function which was included in PHP versions 5.2.0+.
Files
name | size |
---|---|
mysmsapi.php | 504.16K |
Ruby Client Library
Created Apr 24, 2024 9:25:37 AM
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::Post.new(url.request_uri)
input = ExternalAccountConnectRequest.new
//set up the ExternalAccountConnectRequest...
request.body = input.to_json
request['Content-Type'] = "application/json"
http = Net::HTTP.new(url.host, url.port)
//set up additional http stuff...
res = http.start do |ht|
ht.request(request)
end
result = ExternalAccountConnectResponse.from_json(JSON.parse(res.body))
//handle the result as needed...
Files
name | size |
---|---|
mysmsapi.rb | 279.98K |