Setting Up Application Properties

The Application instance contains the information and authentication credentials needed to register and connect to the Unwired Server.

The following code illustrates how to set up the minimum required fields:
// Initialize Application settings
SUPApplication* app = [SUPApplication getInstance];
        
// The identifier has to match the application ID deployed to the Unwired Server
app.applicationIdentifier = @"SUP101";
                
// ConnectionProperties has the information needed to register
// and connect to Unwired Server
SUPConnectionProperties* props = app.connectionProperties;
props.serverName = @"server.mycompany.com";
// if you are using Relay Server, then use the correct port number for the Relay Server.
// if connecting using http without a relay server, use the messaging administration port, by default 5001.
// if connecting using https without a relay server, then use a new port for https, for example 9001.
props.portNumber = 5001;

// if connecting using https, set the network protocol
props.NetworkProtocol = @"https"; 

props.activationCode = @"activationcode";
// if you are connecting through relay server, then use the MBS farmId for that Relay Server
// otherwise use the farmId from the SCC application connection
props.farmId = @"farmId";  
// if you are connecting through relay server and using auto registration,
// then you must provide the correct urlSuffix from the relay server
// Obtain the url suffix value from the Relay Server configuration for the specific farm.
// The client url suffix value should be used in the application.
// For example: props.urlSuffix = @"/ias_relay_server/client/rs_client.dll";      
props.urlSuffix = @"urlSuffix";   
        
// provide user credentials
SUPLoginCredentials* login = [SUPLoginCredentials getInstance];
login.username = @"supAdmin";
login.password = @"supPwd";   
props.loginCredentials = login;
        
// Initialize generated package database class with this Application instance
[SUP101SUP101DB setApplication:app];

If you are using a Relay Server, specify the connection as follows:

// specify Relay Server Host
Props.serverName = @"relayserver.mycompany.com";
// specify Relay Server Port (port 80 by default)
Props.portNumber = 80;
// specify the Relay Server MBS Farm, for example MBS_Farm
Props.farmId = @"MBS_FARM";

Optionally, you can specify the Relay Server URL suffix.

Using a Reverse Proxy for Object API Applications

The Object API application communicates with Unwired Server through two ports:
  1. Application registration (default 5001)
  2. Application synchronization (default 2480)
The Unwired Server administrator configures two ports with each port serving one Unwired Server port, so that:
  • The root context of http://reverseProxy:5001 maps to http://server-name:5001
  • The root context of http://reverseProxy:2480 maps to http://server-name:2480
Set Object API application connection properties just as you would to directly connect to Unwired Server.
The Unwired Server administrator configures two contexts for one Unwired Server port, so that:
  • The "/smp/message" context of http://reverseProxy:8080 maps to http://server-name:5001
  • The "/smp/mobilink" context of http://reverseProxy:8080 maps to http://server-name:2480
Set the URL suffix for the Object API application to "/smp/message" for registering applications and "/smp/mobilink" for synchronization, just as you would if connecting to Unwired Server through a Relay Server which is not installed at the default location. The difference is that you do not include a FarmId for the reverse proxy.
Note: When using an Apache server as a reverse proxy without Sybase Hosted Relay Server to proxy Object API Applications against Unwired Server, if a custom URL suffix is used, clients should specify a custom URL suffix including a trailing forward slash "/". For example, "/myApp/" instead of "/myApp". If not, the client may report connection failures.
Related reference
Application APIs