Files and Libraries

The following files and libraries are available:

C Client Library

Created Sep 22, 2023 1:45:49 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 <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 Sep 22, 2023 1:46:12 PM

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 Sep 22, 2023 1:46:16 PM

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 Sep 22, 2023 1:46:17 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 + "/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 Sep 22, 2023 1:45:53 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 <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 Sep 22, 2023 1:45:54 PM

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 Sep 22, 2023 1:45:54 PM

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