Third Party Application Integration with localhost HTTP Bridge (Windows 10)
The OMA Windows 10 browser test applications support a localhost HTTP bridge URI integration scheme where other applications running on the OMA device can interact with the OMA application. This feature has been implemented using an HTTP server installed on the windows device running windows service that contains a server listening for requests from 3rd party apps and allowing OMA to pick up the request and process them.
On the Windows machine, you will need to install the OMA Bridge Service from the NMS SDK directory OMAHttpBridge.zip file. By default, the bridge app will start every time the system is rebooted; the user can use the Windows Service app to monitor and control (Start/Stop) the OMA Bridge Services. The Windows Event Viewer can also be used to view the log activity of the OMA Bridge in the Event Viewer, Applications and Services Logs, OMABrdg section.
The default port for the OMAHttpBridge is 9595. To change the port number, you will need to manually start the service with a single parameter: the desired port number.
Calls from the third party app would be as follows:
http://localhost:9595/oma/<command>
Where <command> would be some action OMA is prepared to do. For example:
http://localhost:9595/oma/mapfocus?lat=45.1272&long=-93.5023&zoom=12
Will return a json payload including the following information:
{
"omaStatus":"LoggedIn",
"omaRequest":"/oma/mapfocus?lat=45.1246&long=-93.5023&zoom=18",
"requestStatus":"queued"
}
The payload omaStatus will return LoggedIn, LoggedOut, or unknown. If OMA is not running or connected to the OMAHttpBridge, omaStatus will be unknown and OMA will not respond to the request. If OMA is connected to the bridge but not logged in, omaStatus will be LoggedOut and OMA will most likely not respond to the request.
Other commands supported by the OMAHttpBridge other than the http://localhost:9595/oma/ commands include:
http://localhost:9595/: Which will return a status of the OMAHttpBridge:
{
"appName":"OMAHttpBridge",
"version":"16FEB2021-A",
"omaStatus":"LoggedIn",
"omaRequest":"/oma/mapfocus?lat=45.1269&long=-93.4994&zoom=18",
"requestStatus":"none",
"totalRequests":1083,
"omaRequests":15,
"omaGetRequests":1067
}
http://localhost:9595/getrequest: Which OMA uses to get the last requested oma command:
"omaRequest":"/oma/mapfocus?lat=45.1272&long=-93.5023&zoom=18"
}
 
http://localhost:9595/notloggedin: Which OMA uses to signal the user is not logged in to OMA.
http://localhost:9595/stop: Which can be used to terminate the OMAHttpBridge.
 
OMA will need to be configured to process /oma/ commands, as described in Configuring OMA Bridge and Wrapper Deep Link Commands below.