API для .NET
Интерфейс Программирования Приложений (API) SberMobile Server для .NET и .NET Compact (.NET API <%ls% ) - это удобная библиотека для доступа SberMobile Server из любого приложения, базирующегося на .NET, которая использует Веб-сервис или Протокол связи SberMobile.
Интерфейс Программирования Приложений (API) -- это интерфейс, который программа или библиотека предоставляют для других компьютерных программ, чтобы они могли выполнять запросы к ней. |
API .NET Compact недоступен для прямой загрузки на сайт SberMobile. Пожалуйста, свяжитесь с SberMobile для получения пакета API .NET Compact. |
Возможности API для .NET
Используя API, можно:
иметь доступ к ресурсам сервера и подсоединенных устройств;
изменять конфигурацию сервера и устройства;
выполнять операции сервера и устройства;
получать события сервера и устройства;
подключаться к SberMobile Server в "режиме устройства", т.е. писать код на .NET, который эмулирует или реализует устройство аппаратного оборудования, подключенное к SberMobile.
Технически API для .NET предоставляет следующую функциональность:
полный доступ к контекстам сервера через так называемое контекстное proxy-дерево;
получение и установка значений переменных контекста;
вызов функций контекста;
прослушивание событий контекста (только при использовании Протокола SberMobile);
создание Таблиц данных и работа с ними;
эмулирование Агента.
Дистрибутивный пакет API для .NET
SberMobile API для .NET доступен как архивный файл в формате ZIP, который содержит:
исходный код
примеры
решение под Microsoft Visual Studio
Основные классы и интерфейсы API для .NET
Имя класса | Описание |
| Параметры контейнера серверного соединения (адрес, порт, имя пользователя и пароль). Экземпляр этого класса передается в конструктор |
| Этот класс используется для установки и контроля за соединением с SberMobile Server. Он предоставляет доступ к интерфейсу |
| Интерфейс, который предоставляет доступ к контекстному дереву. Экземпляр класса, реализующего этот интерфес, может быть получен из |
| Интерфейс, позволяющий работать и одним контекстом. Экземпляры класса, реализующие этот интерфейс, возвращаются различными методами |
| Реализация Таблицы Данных. Предоставляет доступ к формату и записям таблицы. Экземпляры этого класса возвращаются следующими методами класса |
| Реализация одной записи Таблицы Данных. |
| Класс, реализующий формат Таблицы Данных. Он включает свойства таблицы и список полей. |
| Класс, реализующий формат одного поля Таблицы Данных. Определяет имя, тип и другие параметры поля, включая валидаторы, значения выбора и пр. |
Доступ к SberMobile Server из приложения .NET через веб-сервис
Чтобы подключиться к SberMobile Server из приложения .NET через Веб-сервис, в Вашем приложении следует создать объект LinkServerClient,
вызвав его конструктор с адресом веб-сервиса и именем пользователя/паролем SberMobile Server.
Ниже следует объявление конструктора LinkServerClient:
public LinkServerClient(String username, String password, String url)
Пример: создание клиентского объекта SberMobile Server на C#: |
Чтобы получить доступ к Веб-сервису по HTTPS, необходимо сначала установить сертификат. Пример (на C#): |
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
{
public TrustAllCertificatePolicy()
{ }
public bool CheckValidationResult(ServicePoint sp, X509Certificate cert, WebRequest req, int problem)
{
return true;
}
}
Объект LinkServerClient
реализует все методы, определенные Веб-сервисом SberMobile Server:
getXML
setXML
callXML
setByStringArray
callByStringArray
get
set
call
Методы getXML, setXML, callXML, setByStringArray и callByStringArray всесторонне описаны в главе Веб-сервисы. В большинстве случае удобнее использовать методы get, set и call, которые представляют Таблицы Данных как объекты типа DataTable
, определеные в области имен SberMobile
. Ниже представлены объявления всех методов, предоставляемых LinkServerClient:
Методы, использующие для кодирования таблиц данных XML
public String getXML(String context, String variable)
public void setXML(String context, String variable, String value)
public String callXML(String context, String variable, String parameters)
Методы, использующие для кодирования таблиц данных строковый массив
public void setByStringArray(String context, String variable, String[] values)
public DataTable callByStringArray(String context, String variable, String[] values)
Методы, которые обрабатывают таблицы данных как объекты
public DataTable get(String context, String variable)
public void set(String context, String variable, DataTable value)
public DataTable call(String context, String variable, DataTable parameters)