Программные интерфейсы (API)

Пример использования SOAP API на C#

Данный пример описывает использование DataService - низкоуровневого сервиса Devprom SOAP API, позволяющего выполнять любые действия над данными в Devprom, которые разрешены правами доступа текущего пользователя.

 

Devprom SOAP API по-умолчанию доступен в любой поставке Devprom, независимо от ее редакции. Перечень поддерживаемых сервисов доступен в документации программных интерфейсов.

 

Пример предназначен для того, чтобы сформировать у вас базовое понимание принципов использования Devprom SOAP API. В формате теста (C#, nUnit) мы создадим нового пользователя в Devprom с заданным атрибутами и проверим, что этот пользователь может войти в систему.

 using DEVPROM.WebTest.Core;
 using NUnit.Framework;
 using DEVPROM.WebTest.devprom.api.security;
 using DEVPROM.WebTest.devprom.api.model;
 
 namespace DEVPROM.WebTest.Api
 {
   [TestFixture]
   public class ApiUser
   {
     [Test]
     public void TestCreateUser()
     {
       // login under administrator
       var securityService = new SecurityService() { Url = TestUtils.GetAppConfigurationItem("HostUrl") + "/api/securityservice" };
       var token = securityService.login(TestHelper.appUserName, TestHelper.appUserPassword, null);
 
       // low-level API data service
       var dataService = new DataService() { Url = TestUtils.GetAppConfigurationItem("HostUrl") + "/api/dataservice" };
 
       // create new user
       var testUser = new user()
       {
         Caption = "Api Test User",
         Description = "",
         Email = "apitestuser@devprom.ru",
         IsAdmin = "N", // Y or N
         Login = "ApiUser",
         Skype = "api_test",
         Phone = "+7910xxxxxxx",
         Password = "testpass"
       };
 
       var createdUser = dataService.userRemoteAdd(token.Key, testUser);
 
       // assert user created
       Assert.IsNotNull(createdUser.Id); // now we have user ID
       Assert.AreEqual(testUser.Caption, createdUser.Caption);
       Assert.AreEqual(testUser.Email, createdUser.Email);
 
       // assert user can login
       token = securityService.login(testUser.Login, testUser.Password, null);
       Assert.IsNotNullOrEmpty(token.Key, "Can't login under new user");
     }
   }
 }

Пространства имен (namespaces) DEVPROM.WebTest.devprom.api.security и DEVPROM.WebTest.devprom.api.model были автоматически созданы на основе WSDL http://localhost/api/securityservice?wsdl и http://localhost/api/dataservice?wsdl соответственно (Visual Studio - Project - Add Web Reference).

Далее:

Пример использования SOAP API на PHP