Advertisement
Guest User

Untitled

a guest
Sep 26th, 2018
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.32 KB | None | 0 0
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.ServiceModel;
  4.  
  5. namespace Prognoz.HelloWorld
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             const string id = "OBJ224_COPY1";
  12.  
  13.             var binding = new BasicHttpBinding();
  14.             var endpoint = new EndpointAddress("http://vm-win2016-zbn/PPBI_App_v9.0x64/axis2/services/PP.SOM.Som");
  15.             var somClient = new SomPortTypeClient(binding, endpoint);
  16.             var openMetabaseResult = somClient.OpenMetabase(new OpenMetabase
  17.             {
  18.                 tDef = new MbDef
  19.                 {
  20.                     id = "ZN_META"
  21.                 },
  22.                 tCreds = new UserCreds
  23.                 {
  24.                     user = new UserId
  25.                     {
  26.                         id = "PP_USER"
  27.                     },
  28.                     pass = "Qwerty1"
  29.                 }
  30.             });
  31.  
  32.             Console.WriteLine("openMetabaseResult:");
  33.             Console.WriteLine(JsonConvert.SerializeObject(openMetabaseResult));
  34.             Console.WriteLine();
  35.  
  36.             //Получение списка объектов в соответствии с указанными параметрами отбора
  37.             var getObjectsResult = somClient.GetObjects(new GetObjects()
  38.             {
  39.                 //Параметры фильтрации объектов
  40.                 tArg = new GetObjectsArg()
  41.                 {
  42.                     pattern = new OdsPattern()
  43.                 },
  44.                 tFilter = new OdsFilt()
  45.                 {
  46.                     limit = 1,
  47.  
  48.                     levels = -1,
  49.                     includeRoot = false,
  50.                     hideAllFolders = true,
  51.                     hideEmptyFolders = true,
  52.                     findInfo = new OdFindInfo()
  53.                     {
  54.                         active = true,
  55.                         attribute = OdFindAttribute.Ident,
  56.                         caseSensitive = false,
  57.                         scanHiddenFolders = true,
  58.  
  59.                         scanNestedNamespaces = true,
  60.                         text = id,
  61.                         wholeWordsOnly = true
  62.                     }
  63.                 },
  64.                 //Указание идентификатора объекта, среди дочерних объектов которого будет производиться поиск
  65.                 tParent = new OdId()
  66.                 {
  67.                     id = openMetabaseResult.id + "!0" //0 - ключ корневой папки репозитория
  68.                 }
  69.             });
  70.  
  71.             Console.WriteLine("getObjectsResult:");
  72.             Console.WriteLine(JsonConvert.SerializeObject(getObjectsResult));
  73.             Console.WriteLine();
  74.  
  75.             var openPrxResult = somClient.OpenPrx(new OpenPrx()
  76.             {
  77.                 tArg = new OpenPrxArg()
  78.                 {
  79.                     args = new PrxOpenArgs()
  80.                 },
  81.                 //Формирование моникера объекта
  82.                 tObject = new OdId() { id = openMetabaseResult.id + "!" + getObjectsResult.objects.its[0].k }
  83.             });
  84.  
  85.             Console.WriteLine("openPrxResult:");
  86.             Console.WriteLine(JsonConvert.SerializeObject(openPrxResult));
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement