Первые шаги
Разработчики C#
Для того чтобы потренироваться использовать веб-сервис КИБ "Ишеним" мы предлагаем вам написать небольшое тестовое приложение, которое будет вызывать веб-медод складывающий два числа. Для этого вам необходимо проделать следующие шаги:
- в Visual Studio 2008 cоздайте проект "Консольное приложение";
- добавьте в Ссылки (Referens) проекта следующие сборки:
- System.RuntimeSerialisation;
- System.ServiceModel.
- добавьте в проект файлы:
- в Аpp.config пропишите SubjectName вашего сертификата;
- в функцию main() скопируйте код:
AutomatServiceClient client = new AutomatServiceClient();
double value1 = 10.00D;
double value2 = 15.00D;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);
- Запустите приложение на выполнение;
Результат выполнения:
Add(10.00, 15.00) = 25.00
Как все это работает?
- В строке (1) выше описанного кода создается объект прокси класса AutomatServiceClient для подлючения к веб-сервису на основе настроек которые прописаны в файле App.conig.
- Далее при вызове метода Add строка (4) экземпляр класса AutomatServiceClient подлючается к веб-сервису который в этот момент проверяет подлинность клиента, и если она установленна открывает соединение.
- Клиент отправляет в зашифрованном виде запрос на выполнение метода.
- Веб-сервис выполняет код метода Add (складывает два числа) с переданными ему параметрами, и отправляет результат обратно клиенту, тоже в зашифрованном виде.
- Клиент получает данные и расшифровыевает их.
- Программа выводит результат на экран строка (5).
Как видно из описания всю рутинную работу по шифровке, передаче, приему и дешфифровке информации делает прокси класс AutomatServiceClient и .NetFramework 3.5.
Разработчики Delphi .Net
Для запуска проекта на Delphi .Net необходимо:
- Подключить следующие модули в разделе Uses проекта:
Uses
// CIB
Cib.ServiceClient,
Cib.Web.Services.Datamembers,
// Web-service
System.ServiceModel,
System.ServiceModel.Security,
System.Net.Security,
System.Security.Cryptography.X509Certificates;
- В разделе References в Project Manager необходимо добавить следующие динамические библиотеки
- Добавить код тестового вызова
var
cl : CIBClient;
res : double;
begin
try
InitCibClient(cl);
res := cl.Add(2.0, 2.0);
Label1.Caption := FloatToStr(res);
cl.Close();
except
on e: Exception do ShowMessage(e.Message);
end;
end;