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-дерево;

Дистрибутивный пакет API для .NET

SberMobile API для .NET доступен как архивный файл в формате ZIP, который содержит:

  • исходный код

  • примеры

  • решение под Microsoft Visual Studio

Основные классы и интерфейсы API для .NET

Имя класса

Описание

RemoteLinkServer

Параметры контейнера серверного соединения (адрес, порт, имя пользователя и пароль). Экземпляр этого класса передается в конструктор RemoteLinkServerController.

RemoteLinkServerController

Этот класс используется для установки и контроля за соединением с SberMobile Server. Он предоставляет доступ к интерфейсу ContextManager, который, свою очередь, предоставляет доступ к контекстному дереву сервера.

ContextManager

Интерфейс, который предоставляет доступ к контекстному дереву. Экземпляр класса, реализующего этот интерфес, может быть получен из RemoteLinkServerController посредством метода getContextManager()

Context

Интерфейс, позволяющий работать и одним контекстом. Экземпляры класса, реализующие этот интерфейс, возвращаются различными методами ContextManager.

DataTable

Реализация Таблицы Данных. Предоставляет доступ к формату и записям таблицы. Экземпляры этого класса  возвращаются следующими методами класса Context: getVariable() и callFunction().

DataRecord

Реализация одной записи Таблицы Данных.

TableFormat

Класс, реализующий формат Таблицы Данных. Он включает свойства таблицы и список полей.

FieldFormat

Класс, реализующий формат одного поля Таблицы Данных. Определяет имя, тип и другие параметры поля, включая валидаторы, значения выбора и пр.

Доступ к 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)