Add export from nsi-common service

This commit is contained in:
2025-08-18 11:58:28 +09:00
parent 2fd0457966
commit 875e3470d8
35 changed files with 5910 additions and 39 deletions

View File

@ -9,7 +9,7 @@ using DebtRequests = Hcs.Service.Async.DebtRequests.v15_7_0_1;
namespace Hcs.Service.Async.DebtRequests.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResult { }
public partial class getStateResult : IHcsGetStateResultMany { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
@ -18,7 +18,7 @@ namespace Hcs.ClientApi.DebtRequestsApi
{
/// Метод для отправки запросов к сервису запросов о наличии задолженности
/// Описание: http://open-gkh.ru/DebtRequestsServiceAsync/
public class HcsDebtRequestsMethod : HcsRemoteCallMethod
public class HcsDebtRequestsMethod : HcsRemoteCallMethod<IHcsGetStateResultMany>
{
public HcsEndPoints EndPoint => HcsEndPoints.DebtRequestsAsync;
@ -88,14 +88,14 @@ namespace Hcs.ClientApi.DebtRequestsApi
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResult> TryGetResultAsync(
protected override async Task<IHcsGetStateResultMany> TryGetResultAsync(
IHcsAck sourceAck, CancellationToken token = default)
{
Func<Task<IHcsGetStateResult>> func = async () => await TryGetResultBareAsync(sourceAck);
Func<Task<IHcsGetStateResultMany>> func = async () => await TryGetResultBareAsync(sourceAck);
return await RunRepeatableTaskInsistentlyAsync(func, token);
}
private async Task<IHcsGetStateResult> TryGetResultBareAsync(IHcsAck sourceAck)
private async Task<IHcsGetStateResultMany> TryGetResultBareAsync(IHcsAck sourceAck)
{
using (var client = NewPortClient())
{
@ -115,7 +115,7 @@ namespace Hcs.ClientApi.DebtRequestsApi
}
}
private void CheckResultForErrors(IHcsGetStateResult result)
private void CheckResultForErrors(IHcsGetStateResultMany result)
{
if (result == null) throw new HcsException("Пустой result");

View File

@ -135,7 +135,7 @@ namespace Hcs.ClientApi.DebtRequestsApi
}
}
private DSRsBatch ParseExportResultBatch(RemoteCaller.IHcsGetStateResult result)
private DSRsBatch ParseExportResultBatch(RemoteCaller.IHcsGetStateResultMany result)
{
var batch = new DSRsBatch();

View File

@ -9,14 +9,14 @@ using DeviceMetering = Hcs.Service.Async.DeviceMetering.v15_7_0_1;
namespace Hcs.Service.Async.DeviceMetering.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResult { }
public partial class getStateResult : IHcsGetStateResultMany { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
namespace Hcs.ClientApi.DeviceMeteringApi
{
public class HcsDeviceMeteringMethod : HcsRemoteCallMethod
public class HcsDeviceMeteringMethod : HcsRemoteCallMethod<IHcsGetStateResultMany>
{
public HcsEndPoints EndPoint => HcsEndPoints.DeviceMeteringAsync;
@ -35,7 +35,7 @@ namespace Hcs.ClientApi.DeviceMeteringApi
return client;
}
public async Task<IHcsGetStateResult> SendAndWaitResultAsync(
public async Task<IHcsGetStateResultMany> SendAndWaitResultAsync(
object request,
Func<DeviceMetering.DeviceMeteringPortTypesAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -62,7 +62,7 @@ namespace Hcs.ClientApi.DeviceMeteringApi
}
}
private async Task<IHcsGetStateResult> SendAndWaitResultAsyncImpl(
private async Task<IHcsGetStateResultMany> SendAndWaitResultAsyncImpl(
object request,
Func<DeviceMetering.DeviceMeteringPortTypesAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -96,7 +96,7 @@ namespace Hcs.ClientApi.DeviceMeteringApi
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
protected override async Task<IHcsGetStateResultMany> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
{
using (var client = NewPortClient())
{

View File

@ -4,6 +4,7 @@ using Hcs.ClientApi.DeviceMeteringApi;
using Hcs.ClientApi.FileStoreServiceApi;
using Hcs.ClientApi.HouseManagementApi;
using Hcs.ClientApi.NsiApi;
using Hcs.ClientApi.NsiCommonApi;
using Hcs.ClientApi.OrgRegistryCommonApi;
using Hcs.ClientApi.RemoteCaller;
using System;
@ -42,6 +43,7 @@ namespace Hcs.ClientApi
public HcsFileStoreServiceApi FileStoreService => new HcsFileStoreServiceApi(this);
public HcsDeviceMeteringApi DeviceMeteringService => new HcsDeviceMeteringApi(this);
public HcsNsiApi Nsi => new HcsNsiApi(this);
public HcsNsiCommonApi NsiCommon => new HcsNsiCommonApi(this);
public X509Certificate2 FindCertificate(Func<X509Certificate2, bool> predicate)
{

View File

@ -9,14 +9,14 @@ using HouseManagement = Hcs.Service.Async.HouseManagement.v15_7_0_1;
namespace Hcs.Service.Async.HouseManagement.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResult { }
public partial class getStateResult : IHcsGetStateResultMany { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
namespace Hcs.ClientApi.HouseManagementApi
{
public class HcsHouseManagementMethod : HcsRemoteCallMethod
public class HcsHouseManagementMethod : HcsRemoteCallMethod<IHcsGetStateResultMany>
{
public HcsEndPoints EndPoint => HcsEndPoints.HomeManagementAsync;
@ -35,7 +35,7 @@ namespace Hcs.ClientApi.HouseManagementApi
return client;
}
public async Task<IHcsGetStateResult> SendAndWaitResultAsync(
public async Task<IHcsGetStateResultMany> SendAndWaitResultAsync(
object request,
Func<HouseManagement.HouseManagementPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -64,7 +64,7 @@ namespace Hcs.ClientApi.HouseManagementApi
}
}
private async Task<IHcsGetStateResult> SendAndWaitResultAsyncImpl(
private async Task<IHcsGetStateResultMany> SendAndWaitResultAsyncImpl(
object request,
Func<HouseManagement.HouseManagementPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -98,7 +98,7 @@ namespace Hcs.ClientApi.HouseManagementApi
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
protected override async Task<IHcsGetStateResultMany> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
{
using (var client = NewPortClient())
{
@ -120,7 +120,7 @@ namespace Hcs.ClientApi.HouseManagementApi
/// <summary>
/// Разбирает стандартный ответ HCS на операцию импорта с приемом ошибок
/// </summary>
protected HouseManagement.getStateResultImportResultCommonResult ParseSingleImportResult(IHcsGetStateResult stateResult)
protected HouseManagement.getStateResultImportResultCommonResult ParseSingleImportResult(IHcsGetStateResultMany stateResult)
{
return ParseImportResults(stateResult, 1, true).First();
}
@ -129,7 +129,7 @@ namespace Hcs.ClientApi.HouseManagementApi
/// Разбирает стандартный ответ HCS на операцию импорта с приемом ошибок
/// </summary>
protected HouseManagement.getStateResultImportResultCommonResult[] ParseImportResults(
IHcsGetStateResult stateResult, int commonResultRequiredCount, bool checkItemErrors)
IHcsGetStateResultMany stateResult, int commonResultRequiredCount, bool checkItemErrors)
{
var importResult = RequireSingleItem<HouseManagement.getStateResultImportResult>(stateResult.Items);
if (IsArrayEmpty(importResult.Items)) throw new HcsException("Пустой ImportResult.Items");

View File

@ -9,14 +9,14 @@ using Nsi = Hcs.Service.Async.Nsi.v15_7_0_1;
namespace Hcs.Service.Async.Nsi.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResult { }
public partial class getStateResult : IHcsGetStateResultMany { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
namespace Hcs.ClientApi.NsiApi
{
public class HcsNsiMethod : HcsRemoteCallMethod
internal class HcsNsiMethod : HcsRemoteCallMethod<IHcsGetStateResultMany>
{
public HcsEndPoints EndPoint => HcsEndPoints.NsiAsync;
@ -35,7 +35,7 @@ namespace Hcs.ClientApi.NsiApi
return client;
}
public async Task<IHcsGetStateResult> SendAndWaitResultAsync(
public async Task<IHcsGetStateResultMany> SendAndWaitResultAsync(
object request,
Func<Nsi.NsiPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -56,7 +56,7 @@ namespace Hcs.ClientApi.NsiApi
}
}
private async Task<IHcsGetStateResult> SendAndWaitResultAsyncImpl(
private async Task<IHcsGetStateResultMany> SendAndWaitResultAsyncImpl(
object request,
Func<Nsi.NsiPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -90,7 +90,7 @@ namespace Hcs.ClientApi.NsiApi
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
protected override async Task<IHcsGetStateResultMany> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
{
using (var client = NewPortClient())
{

View File

@ -0,0 +1,88 @@
using Hcs.ClientApi.DataTypes;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using NsiCommon = Hcs.Service.Async.NsiCommon.v15_7_0_1;
namespace Hcs.ClientApi.NsiCommonApi
{
/// <summary>
/// Операции экспорта общих справочников подсистемы НСИ
/// </summary>
internal class HcsMethodExportNsiCommon : HcsNsiCommonMethod
{
public HcsMethodExportNsiCommon(HcsClientConfig config) : base(config)
{
EnableMinimalResponseWaitDelay = true;
CanBeRestarted = true;
}
/// <summary>
/// Возвращает общий справочник подсистемы НСИ
/// </summary>
/// <param name="regNum">Реестровый номер справочника</param>
/// <param name="token">Токен отмены</param>
/// <returns>Справочник</returns>
public async Task<ГисСправочник> GetNsiItem(int regNum, CancellationToken token)
{
var request = new NsiCommon.exportNsiItemRequest
{
Id = HcsConstants.SignedXmlElementId,
RegistryNumber = regNum.ToString(),
// http://open-gkh.ru/NsiCommon/exportNsiItemRequest.html
version = "10.0.1.2"
};
var stateResult = await SendAndWaitResultAsync(request, async (portClient) =>
{
var response = await portClient.exportNsiItemAsync(CreateRequestHeader(), request);
return response.AckRequest.Ack;
}, token);
return AdoptNsiItemType(stateResult.Item as NsiCommon.NsiItemType);
}
private ГисСправочник AdoptNsiItemType(NsiCommon.NsiItemType input)
{
var справочник = new ГисСправочник()
{
реестровыйНомер = input.NsiItemRegistryNumber,
датаФормирования = input.Created,
элементы = AdoptNsiElementTypes(input.NsiElement)
};
return справочник;
}
private ГисЭлементСправочника[] AdoptNsiElementTypes(NsiCommon.NsiElementType[] input)
{
var элементыСправочника = new List<ГисЭлементСправочника>();
foreach (var element in input)
{
var поляЭлементаСправочника = new List<ГисПолеЭлементаСправочника>();
foreach (var field in element.NsiElementField)
{
CallOnType<NsiCommon.NsiElementStringFieldType>(field, x =>
{
поляЭлементаСправочника.Add(new ГисПолеЭлементаСправочника()
{
наименование = x.Name,
значение = x.Value
});
});
}
элементыСправочника.Add(new ГисЭлементСправочника()
{
код = element.Code,
гуид = ParseGuid(element.GUID),
актуальный = element.IsActual,
поля = [.. поляЭлементаСправочника],
элементы = element.ChildElement?.Length > 0 ? AdoptNsiElementTypes(element.ChildElement) : null
});
}
return [.. элементыСправочника];
}
}
}

View File

@ -0,0 +1,35 @@
using Hcs.ClientApi.DataTypes;
using System.Threading;
using System.Threading.Tasks;
namespace Hcs.ClientApi.NsiCommonApi
{
public class HcsNsiCommonApi
{
public HcsClientConfig Config { get; private set; }
public HcsNsiCommonApi(HcsClientConfig config)
{
Config = config;
}
/// <summary>
/// Возвращает данные справочников поставщика информации
/// </summary>
/// <param name="regNum">Реестровый номер справочника</param>
/// <param name="token">Токен отмены</param>
/// <returns>Список справочников</returns>
public async Task<ГисСправочник> GetNsiItem(int regNum, CancellationToken token = default)
{
try
{
var method = new HcsMethodExportNsiCommon(Config);
return await method.GetNsiItem(regNum, token);
}
catch (HcsNoResultsRemoteException)
{
return null;
}
}
}
}

View File

@ -0,0 +1,111 @@
using Hcs.ClientApi.RemoteCaller;
using System;
using System.Threading;
using System.Threading.Tasks;
using NsiCommon = Hcs.Service.Async.NsiCommon.v15_7_0_1;
namespace Hcs.Service.Async.NsiCommon.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResultOne { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
namespace Hcs.ClientApi.NsiCommonApi
{
internal class HcsNsiCommonMethod : HcsRemoteCallMethod<IHcsGetStateResultOne>
{
public HcsEndPoints EndPoint => HcsEndPoints.NsiCommonAsync;
public NsiCommon.ISRequestHeader CreateRequestHeader() =>
HcsRequestHelper.CreateHeader<NsiCommon.ISRequestHeader>(ClientConfig);
public HcsNsiCommonMethod(HcsClientConfig config) : base(config) { }
public System.ServiceModel.EndpointAddress RemoteAddress
=> GetEndpointAddress(HcsConstants.EndPointLocator.GetPath(EndPoint));
private NsiCommon.NsiPortsTypeAsyncClient NewPortClient()
{
var client = new NsiCommon.NsiPortsTypeAsyncClient(_binding, RemoteAddress);
ConfigureEndpointCredentials(client.Endpoint, client.ClientCredentials);
return client;
}
public async Task<IHcsGetStateResultOne> SendAndWaitResultAsync(
object request,
Func<NsiCommon.NsiPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
{
token.ThrowIfCancellationRequested();
while (true)
{
try
{
return await SendAndWaitResultAsyncImpl(request, sender, token);
}
catch (HcsRestartTimeoutException e)
{
if (!CanBeRestarted) throw new HcsException("Превышен лимит ожидания выполнения запроса", e);
Log($"Перезапускаем запрос типа {request.GetType().Name}...");
}
}
}
private async Task<IHcsGetStateResultOne> SendAndWaitResultAsyncImpl(
object request,
Func<NsiCommon.NsiPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
{
if (request == null) throw new ArgumentNullException("Null request");
string version = HcsRequestHelper.GetRequestVersionString(request);
_config.Log($"Отправляем запрос: {RemoteAddress.Uri}/{request.GetType().Name} в версии {version}...");
var stopWatch = System.Diagnostics.Stopwatch.StartNew();
IHcsAck ack;
using (var client = NewPortClient())
{
ack = await sender(client);
}
stopWatch.Stop();
_config.Log($"Запрос принят в обработку за {stopWatch.ElapsedMilliseconds}мс., подтверждение {ack.MessageGUID}");
var stateResult = await WaitForResultAsync(ack, true, token);
if (stateResult.Item is NsiCommon.ErrorMessageType x)
{
throw HcsRemoteException.CreateNew(x.ErrorCode, x.Description);
}
return stateResult;
}
/// <summary>
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResultOne> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
{
using (var client = NewPortClient())
{
var requestHeader = HcsRequestHelper.CreateHeader<NsiCommon.ISRequestHeader>(_config);
var requestBody = new NsiCommon.getStateRequest { MessageGUID = sourceAck.MessageGUID };
var response = await client.getStateAsync(requestHeader, requestBody);
var resultBody = response.getStateResult;
if (resultBody.RequestState == HcsAsyncRequestStateTypes.Ready)
{
return resultBody;
}
return null;
}
}
}
}

View File

@ -9,14 +9,14 @@ using OrgRegistryCommon = Hcs.Service.Async.OrgRegistryCommon.v15_7_0_1;
namespace Hcs.Service.Async.OrgRegistryCommon.v15_7_0_1
{
public partial class AckRequestAck : IHcsAck { }
public partial class getStateResult : IHcsGetStateResult { }
public partial class getStateResult : IHcsGetStateResultMany { }
public partial class Fault : IHcsFault { }
public partial class HeaderType : IHcsHeaderType { }
}
namespace Hcs.ClientApi.OrgRegistryCommonApi
{
public class HcsOrgRegistryCommonMethod : HcsRemoteCallMethod
public class HcsOrgRegistryCommonMethod : HcsRemoteCallMethod<IHcsGetStateResultMany>
{
public HcsEndPoints EndPoint => HcsEndPoints.OrgRegistryCommonAsync;
@ -35,7 +35,7 @@ namespace Hcs.ClientApi.OrgRegistryCommonApi
return client;
}
public async Task<IHcsGetStateResult> SendAndWaitResultAsync(
public async Task<IHcsGetStateResultMany> SendAndWaitResultAsync(
object request,
Func<OrgRegistryCommon.RegOrgPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -56,7 +56,7 @@ namespace Hcs.ClientApi.OrgRegistryCommonApi
}
}
private async Task<IHcsGetStateResult> SendAndWaitResultAsyncImpl(
private async Task<IHcsGetStateResultMany> SendAndWaitResultAsyncImpl(
object request,
Func<OrgRegistryCommon.RegOrgPortsTypeAsyncClient, Task<IHcsAck>> sender,
CancellationToken token)
@ -90,7 +90,7 @@ namespace Hcs.ClientApi.OrgRegistryCommonApi
/// Выполняет однократную проверку наличия результата.
/// Возвращает null если результата еще нет.
/// </summary>
protected override async Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
protected override async Task<IHcsGetStateResultMany> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token)
{
using (var client = NewPortClient())
{

View File

@ -13,7 +13,7 @@ namespace Hcs.ClientApi.RemoteCaller
/// <summary>
/// Базовый класс для методов HCS вызываемых удаленно
/// </summary>
public abstract class HcsRemoteCallMethod
public abstract class HcsRemoteCallMethod<T> where T : IHcsGetStateResult
{
public HcsClientConfig _config;
protected CustomBinding _binding;
@ -144,7 +144,7 @@ namespace Hcs.ClientApi.RemoteCaller
/// Выполнение одной попытки пооучить результат операции.
/// Реализуется в производных классах.
/// </summary>
protected abstract Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token);
protected abstract Task<T> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token);
/// <summary>
/// Основной алгоритм ожидания ответа на асинхронный запрос.
@ -156,11 +156,11 @@ namespace Hcs.ClientApi.RemoteCaller
/// - в случае, если на третий запрос getSate получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 900 секунд после отправки предыдущего запроса;
/// - в случае, если на четвертый(и все последующие запросы) getState получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 1800 секунд после отправки предыдущего запроса.
/// </summary>
protected async Task<IHcsGetStateResult> WaitForResultAsync(
protected async Task<T> WaitForResultAsync(
IHcsAck ack, bool withInitialDelay, CancellationToken token)
{
var startTime = DateTime.Now;
IHcsGetStateResult result;
T result;
for (int attempts = 1; ; attempts++)
{
token.ThrowIfCancellationRequested();
@ -190,7 +190,7 @@ namespace Hcs.ClientApi.RemoteCaller
if (result != null) break;
}
_config.Log($"Ответ получен, число частей: {result.Items.Count()}");
_config.Log($"Ответ получен");
return result;
}

View File

@ -1,7 +1,7 @@
namespace Hcs.ClientApi.RemoteCaller
{
public interface IHcsGetStateResult
{
object[] Items { get; set; }
}
/// <summary>
/// Интерфейс-маркер
/// </summary>
public interface IHcsGetStateResult { }
}

View File

@ -0,0 +1,7 @@
namespace Hcs.ClientApi.RemoteCaller
{
public interface IHcsGetStateResultMany : IHcsGetStateResult
{
object[] Items { get; set; }
}
}

View File

@ -0,0 +1,7 @@
namespace Hcs.ClientApi.RemoteCaller
{
public interface IHcsGetStateResultOne : IHcsGetStateResult
{
object Item { get; set; }
}
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="AckRequest" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.AckRequest, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="ResultHeader" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.ResultHeader, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="exportNsiItemResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiItemResponse, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="exportNsiListResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiListResponse, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="exportNsiPagingItemResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiPagingItemResponse, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="getStateResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.getStateResponse, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="getStateResult" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Hcs.Service.Async.NsiCommon.v15_7_0_1.getStateResult, Connected Services.Service.Async.NsiCommon.v15_7_0_1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="eafb0b02-4b24-43f7-b0f0-cae07bd69500" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
<ClientOptions>
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
<EnableDataBinding>true</EnableDataBinding>
<ExcludedTypes />
<ImportXmlTypes>false</ImportXmlTypes>
<GenerateInternalTypes>false</GenerateInternalTypes>
<GenerateMessageContracts>false</GenerateMessageContracts>
<NamespaceMappings />
<CollectionMappings />
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />
</ClientOptions>
<MetadataSources>
<MetadataSource Address="C:\Users\kshkulev\Documents\hcs\Hcs.Client\HcsWsdlSources\wsdl_xsd_v.15.7.0.1\nsi-common\hcs-nsi-common-service-async.wsdl" Protocol="file" SourceId="1" />
</MetadataSources>
<Metadata>
<MetadataFile FileName="hcs-nsi-base.xsd" MetadataType="Schema" ID="7ab09e31-101e-4344-992f-58a2b5b1a9e6" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/lib/hcs-nsi-base.xsd" />
<MetadataFile FileName="hcs-base.xsd" MetadataType="Schema" ID="29a9c951-bbfe-4019-862b-31fdb24b6f06" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/lib/hcs-base.xsd" />
<MetadataFile FileName="hcs-nsi-common-types.xsd" MetadataType="Schema" ID="60717341-e755-4dcf-b12f-a655654f2543" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/nsi-common/hcs-nsi-common-types.xsd" />
<MetadataFile FileName="hcs-nsi-common-service-async.wsdl" MetadataType="Wsdl" ID="2c05aa2f-94a3-4943-bc29-26384278b3ff" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/nsi-common/hcs-nsi-common-service-async.wsdl" />
<MetadataFile FileName="xmldsig-core-schema.xsd" MetadataType="Schema" ID="bbb6177d-6fc8-4538-a461-671edf8e39cf" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/lib/xmldsig-core-schema.xsd" />
</Metadata>
<Extensions>
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
</Extensions>
</ReferenceGroup>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;NsiBindingAsync1&quot;&gt;&lt;security mode=&quot;Transport&quot; /&gt;&lt;/Data&gt;" bindingType="basicHttpBinding" name="NsiBindingAsync1" />
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;NsiBindingAsync2&quot; /&gt;" bindingType="basicHttpBinding" name="NsiBindingAsync2" />
</bindings>
<endpoints>
<endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;NsiBindingAsync1&quot; contract=&quot;Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync&quot; name=&quot;NsiPortAsync1&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;NsiBindingAsync1&quot; contract=&quot;Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync&quot; name=&quot;NsiPortAsync1&quot; /&gt;" contractName="Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync" name="NsiPortAsync1" />
</endpoints>
</configurationSnapshot>

View File

@ -0,0 +1,310 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="GtjC+6peoOwLvyEry3qE/UWYGCOVhsqiw1xU0J1BJD4=">
<bindingConfigurations>
<bindingConfiguration bindingType="basicHttpBinding" name="NsiBindingAsync1">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>NsiBindingAsync1</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Transport</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(Коллекция)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
<bindingConfiguration bindingType="basicHttpBinding" name="NsiBindingAsync2">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>NsiBindingAsync2</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(Коллекция)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
</bindingConfigurations>
<endpoints>
<endpoint name="NsiPortAsync1" contract="Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync" bindingType="basicHttpBinding" address="https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync" bindingConfiguration="NsiBindingAsync1">
<properties>
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync</serializedValue>
</property>
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>basicHttpBinding</serializedValue>
</property>
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>NsiBindingAsync1</serializedValue>
</property>
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync</serializedValue>
</property>
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
</property>
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>&lt;Header /&gt;</serializedValue>
</property>
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
</property>
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
</property>
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
</property>
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
</property>
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
</property>
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
</property>
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
</property>
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>My</serializedValue>
</property>
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>LocalMachine</serializedValue>
</property>
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
</property>
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>False</serializedValue>
</property>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>NsiPortAsync1</serializedValue>
</property>
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
</properties>
</endpoint>
</endpoints>
</SavedWcfConfigurationInformation>

View File

@ -0,0 +1,862 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:tns="http://dom.gosuslugi.ru/schema/integration/base/" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://dom.gosuslugi.ru/schema/integration/base/" version="13.1.10.2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="xmldsig-core-schema.xsd" namespace="http://www.w3.org/2000/09/xmldsig#" />
<xs:simpleType name="String2000Type">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????? 2000 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="2000" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String1500Type">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????? 1500 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="1500" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String300Type">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????? 300 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="300" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String255Type">
<xs:annotation>
<xs:documentation>?????????????????? ??????. ???????????? ???? ?????????? 255 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String100Type">
<xs:annotation>
<xs:documentation>?????????????????? ??????. ???????????? ???? ?????????? 100 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String250Type">
<xs:annotation>
<xs:documentation>?????????????????? ??????. ???????????? ???? ?????????? 250 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String500Type">
<xs:annotation>
<xs:documentation>?????????????????? ??????. ???????????? ???? ?????????? 500 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String60Type">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????? 60 ????????????????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="60" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LongTextType">
<xs:annotation>
<xs:documentation>?????????????????? ???????? 2000</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="2000" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NonEmptyStringType">
<xs:annotation>
<xs:documentation>???????????????? ????????????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:pattern value=".*[^\s].*" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BaseType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ????????????-?????????????????? ?? ????????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" ref="ds:Signature" />
</xs:sequence>
<xs:attribute name="Id" />
</xs:complexType>
<xs:element name="RequestHeader">
<xs:annotation>
<xs:documentation>?????????????????? ??????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="tns:HeaderType">
<xs:sequence>
<xs:choice>
<xs:element name="SenderID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ???????????????????? ????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="orgPPAGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ???????????????????????????????????? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Citizen">
<xs:annotation>
<xs:documentation>???????????????????? ?? ???????????????????? ????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="CitizenPPAGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ?????????????????????? ????????, ?????????????????????????????????????? ?? ?????? ?????? </xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element minOccurs="0" name="SNILS">
<xs:annotation>
<xs:documentation>??????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{11}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Document">
<xs:annotation>
<xs:documentation>????????????????, ???????????????????????????? ????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DocumentType">
<xs:annotation>
<xs:documentation>?????? ??????????????????, ?????????????????????????????? ???????????????? (?????? ???95)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Code">
<xs:annotation>
<xs:documentation>?????? ???????????? ??????????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
<xs:pattern value="(A{0,1}\d{1,4}(\.)?)+" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="GUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ???????????? ?? ?????????????????????????????? ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Name">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="tns:LongTextType">
<xs:maxLength value="1200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Series">
<xs:annotation>
<xs:documentation>?????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="45" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Number">
<xs:annotation>
<xs:documentation>?????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="45" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element minOccurs="0" fixed="true" name="IsOperatorSignature" type="xs:boolean">
<xs:annotation>
<xs:documentation>???????????????????????? ?????????????? ?????????????????? ????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:ISCreator">
<xs:annotation>
<xs:documentation>???????????????? ???? ???????? ????, ?? ???????????????????????????? ?????????????? ???????? ???????????????????????? ???????????????????? (589/944/,??.164). ???????????? ?????? ???????????????? ???????????????????? ????????????????????.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ISRequestHeader">
<xs:annotation>
<xs:documentation>?????????????????? ??????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="tns:HeaderType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:ISCreator" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ResultHeader">
<xs:annotation>
<xs:documentation>?????????????????? ????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="tns:HeaderType" />
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="ResultType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ???????????? ???? ???????????? ????????????????, ????????????????????????????, ???????????????? </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice>
<xs:element name="TransportGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>???????????????????????? ??????????????????????????, ???????????????????????? ???????????????????? ????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UpdateGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ?????????????? ?? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice>
<xs:sequence>
<xs:element name="GUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ?????????????? ?? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UpdateDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="UniqueNumber" type="xs:string">
<xs:annotation>
<xs:documentation>???????????????????? ?????????? </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:element maxOccurs="unbounded" name="CreateOrUpdateError" type="tns:ErrorMessageType" />
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="HeaderType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Date" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ???????????????? ????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MessageGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="Attachment">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AttachmentGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ???????????????????????? ????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="AttachmentType">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>???????????????????????? ????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1024" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Description">
<xs:annotation>
<xs:documentation>???????????????? ????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="tns:Attachment" />
<xs:element minOccurs="0" name="AttachmentHASH">
<xs:annotation>
<xs:documentation>??????-?????? ???????????????? ???? ?????????????????? ???????? ?? binhex.
?????????????? ???????????????????? ?? ???????????????? ??????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AttachmentWODescriptionType">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>???????????????????????? ????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1024" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Description">
<xs:annotation>
<xs:documentation>???????????????? ????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="tns:Attachment" />
<xs:element minOccurs="0" name="AttachmentHASH">
<xs:annotation>
<xs:documentation>??????-?????? ???????????????? ???? ?????????????????? ???????? ?? binhex</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SignedAttachmentType">
<xs:annotation>
<xs:documentation>?????????????? ??????, ?????????????????????? ???????????????? ?? ?????????????????????????? (detached) ??????????????????. ?? ???????????????? ?????? ??????, ?????????????????????? ?????? SignedAttachmentType, ?????????? ???????? ???????????????? ?????????????????????? ???? ???????????????????????? ?????????????????? ?????????????????? ?? ?????????? Signature (????. ???????????????? INT002039). </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Attachment" type="tns:AttachmentType">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="Signature" type="tns:AttachmentWODescriptionType">
<xs:annotation>
<xs:documentation>???????????????????????? (detached) ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="Fault">
<xs:annotation>
<xs:documentation>?????????????? Fault (?????? ?????????????????? Fault ?? ????????????????)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:annotation>
<xs:documentation>?????????????? ?????? ?????? fault-????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ErrorCode" type="xs:string" />
<xs:element minOccurs="0" name="ErrorMessage" type="xs:string" />
<xs:element minOccurs="0" name="StackTrace" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ErrorMessage" type="tns:ErrorMessageType">
<xs:annotation>
<xs:documentation>???????????????? ???????????? ?????????????????? ?????? ????????????-????????????????. ?????????????? ???? ??????????????????????. ???????????????? ?????? ??????????????????????????
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ErrorMessageType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ???????????? ???????????????? ?????? ????????????-????????????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ErrorCode" type="xs:string">
<xs:annotation>
<xs:documentation>?????? ????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>???????????????? ????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="StackTrace" type="xs:string">
<xs:annotation>
<xs:documentation>StackTrace ?? ???????????? ?????????????????????????? ????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:attribute name="version" type="xs:string">
<xs:annotation>
<xs:documentation>???????????? ????????????????, ?????????????? ?? ?????????????? ???????????????????????????? ??????????????????????????</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="AckRequest">
<xs:annotation>
<xs:documentation>?????????????? ?????????????????? ???????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Ack">
<xs:annotation>
<xs:documentation>??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="MessageGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????, ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RequesterMessageGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????, ?????????????????????? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getStateRequest">
<xs:annotation>
<xs:documentation>???????????? ?????????????? ?????????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="MessageGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????, ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getRequestsStateRequest">
<xs:annotation>
<xs:documentation>???????????? ???????????? ???????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="10000" name="MessageGUIDList" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>???????????? ?????????????????????????????? ??????????????????, ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getRequestsStateResult">
<xs:annotation>
<xs:documentation>?????????? ???? ???????????? ???????????? ???????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="tns:BaseType">
<xs:sequence>
<xs:element maxOccurs="10000" name="MessageGUIDList" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>???????????? ?????????????????????????????? ??????????????????, ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="BaseAsyncResponseType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ???????????? ???? ???????????? ??????????????</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:BaseType">
<xs:sequence>
<xs:element name="RequestState" type="tns:AsyncRequestStateType">
<xs:annotation>
<xs:documentation>???????????? ??????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MessageGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????, ?????????????????????? ?????? ??????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CommonResultType">
<xs:annotation>
<xs:documentation>?????????????????? ???????????????????? C_UD</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" name="GUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ??????????????????????/???????????????????? ????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="1" name="TransportGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>???????????????????????? ??????????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:sequence>
<xs:annotation>
<xs:documentation>???????????????? ?????????????????? ??????????????</xs:documentation>
</xs:annotation>
<xs:element minOccurs="0" name="UniqueNumber" type="xs:string">
<xs:annotation>
<xs:documentation>???????????????????? ???????????????????? ??????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UpdateDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:element maxOccurs="unbounded" name="Error">
<xs:annotation>
<xs:documentation>???????????????? ????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="tns:ErrorMessageType" />
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AsyncRequestStateType">
<xs:annotation>
<xs:documentation>???????????? ?????????????????? ?????????????????? ?? ?????????????????????? ???????????? (1- ????????????????; 2 - ?? ??????????????????; 3- ????????????????????)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:byte">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
</xs:restriction>
</xs:simpleType>
<xs:element name="TransportGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>???????????????????????? ??????????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="GUIDType">
<xs:annotation>
<xs:documentation>GUID-??????.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}" />
</xs:restriction>
</xs:simpleType>
<xs:element name="ModificationDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ?????????????????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="YearType">
<xs:annotation>
<xs:documentation>??????, ?????????????????????? ??????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:short">
<xs:minInclusive value="1600" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MonthType">
<xs:annotation>
<xs:documentation>??????, ?????????????????????? ??????????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:int">
<xs:maxInclusive value="12" />
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
<xs:element name="Month" type="tns:MonthType">
<xs:annotation>
<xs:documentation>??????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Year">
<xs:annotation>
<xs:documentation>??????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:short">
<xs:minInclusive value="1920" />
<xs:maxInclusive value="2050" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:complexType name="YearMonth">
<xs:annotation>
<xs:documentation>???????????????????????? ?????????? ?????????????????????????? ????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="tns:Year" />
<xs:element ref="tns:Month" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Period">
<xs:annotation>
<xs:documentation>?????????????????? ???????????? (?????? ???????? ??????????????????????)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="startDate" type="xs:date">
<xs:annotation>
<xs:documentation>???????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="endDate" type="xs:date">
<xs:annotation>
<xs:documentation>?????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PeriodOpen">
<xs:annotation>
<xs:documentation>???????????????? ?????????????????? ???????????? (???????? ??????????????????????????)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" name="startDate" type="xs:date">
<xs:annotation>
<xs:documentation>???????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="endDate" type="xs:date">
<xs:annotation>
<xs:documentation>?????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="VolumeType">
<xs:annotation>
<xs:documentation>?????? ????????????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="3" />
<xs:minInclusive value="0" />
<xs:totalDigits value="11" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="RegionType">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????????? ???? (????????)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="code">
<xs:annotation>
<xs:documentation>?????? ?????????????? (????????)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="name">
<xs:annotation>
<xs:documentation>???????????? ????????????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OKTMORefType">
<xs:annotation>
<xs:documentation>???????????? ???? ??????????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="code">
<xs:annotation>
<xs:documentation>?????? ???? ??????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="11" />
<xs:pattern value="\d{11}|\d{8}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="name">
<xs:annotation>
<xs:documentation>???????????? ????????????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="OKEIType">
<xs:restriction base="xs:string">
<xs:pattern value="A{0,1}\d{3,4}" />
</xs:restriction>
</xs:simpleType>
<xs:element name="OKEI" type="tns:OKEIType">
<xs:annotation>
<xs:documentation>?????? ????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="orgPPAGUID" type="tns:GUIDType">
<xs:annotation>
<xs:documentation>?????????????????????????? ???????????????????????????????????? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="DocumentPortalType">
<xs:annotation>
<xs:documentation>?????????????? ?????? ?????????????????? ????</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>???????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DocNumber">
<xs:annotation>
<xs:documentation>?????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ApproveDate" type="xs:date">
<xs:annotation>
<xs:documentation>???????? ???????????????? ?????????????????? ?????????????? ????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Attachment" type="tns:AttachmentType">
<xs:annotation>
<xs:documentation>????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="ISCreator">
<xs:annotation>
<xs:documentation>???????????????? ???? ???????? ????, ?? ???????????????????????????? ?????????????? ???????? ???????????????????????? ???????????????????? (589/944/,??.164)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ISName" type="tns:String255Type">
<xs:annotation>
<xs:documentation>???????????????????????? ????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ISOperatorName" type="tns:String255Type">
<xs:annotation>
<xs:documentation>???????????????????????? ?????????????????? ????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="OKTMOType">
<xs:annotation>
<xs:documentation>?????? ???? ??????????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="11" />
<xs:pattern value="\d{11}|\d{8}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OKTMOImportType">
<xs:annotation>
<xs:documentation>?????? ???? ??????????</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="8" />
<xs:pattern value="\d{8}" />
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -0,0 +1,427 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:tns="http://dom.gosuslugi.ru/schema/integration/nsi-base/" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://dom.gosuslugi.ru/schema/integration/nsi-base/" version="11.2.1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="hcs-base.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/base/" />
<xs:simpleType name="nsiCodeType">
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
<xs:pattern value="(A{0,1}\d{1,4}(\.)?)+" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="nsiRef">
<xs:annotation>
<xs:documentation>Ссылка на справочник</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Code" type="tns:nsiCodeType">
<xs:annotation>
<xs:documentation>Код записи справочника</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GUID" type="base:GUIDType">
<xs:annotation>
<xs:documentation>Идентификатор записи в соответствующем справочнике ГИС ЖКХ</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Name">
<xs:annotation>
<xs:documentation>Значение</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="base:LongTextType">
<xs:maxLength value="1200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NsiItemNameType">
<xs:annotation>
<xs:documentation>Скалярный тип. Наименование справочника. Строка не более 200 символов.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="2500" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>Скалярный тип. Реестровый номер справочника. Код не более 10 символов.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:positiveInteger">
<xs:totalDigits value="10" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NsiItemInfoType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование, дата и время последнего изменения справочника.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RegistryNumber" type="tns:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>Реестровый номер справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Name" type="tns:NsiItemNameType">
<xs:annotation>
<xs:documentation>Наименование справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Modified" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата и время последнего изменения справочника.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NsiListType">
<xs:annotation>
<xs:documentation>Перечень справочников с датой последнего изменения каждого из них.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Created" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата и время формирования перечня справочников.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="NsiItemInfo" type="tns:NsiItemInfoType">
<xs:annotation>
<xs:documentation>Наименование, дата и время последнего изменения справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="tns:ListGroup" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="NsiItemType">
<xs:annotation>
<xs:documentation>Данные справочника.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="NsiItemRegistryNumber" type="tns:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>Реестровый номер справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Created" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата и время формирования данных справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="NsiElement" type="tns:NsiElementType">
<xs:annotation>
<xs:documentation>Элемент справочника верхнего уровня.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NsiElementType">
<xs:annotation>
<xs:documentation>Составной тип. Элемент справочника.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Code" type="tns:nsiCodeType">
<xs:annotation>
<xs:documentation>Код элемента справочника, уникальный в пределах справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GUID" type="base:GUIDType">
<xs:annotation>
<xs:documentation>Глобально-уникальный идентификатор элемента справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="Modified" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата и время последнего изменения элемента справочника (в том числе создания).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element name="StartDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата начала действия значения</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EndDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Дата окончания действия значения</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:element name="IsActual" type="xs:boolean">
<xs:annotation>
<xs:documentation>Признак актуальности элемента справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="NsiElementField" type="tns:NsiElementFieldType">
<xs:annotation>
<xs:documentation>Наименование и значение поля для элемента справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ChildElement" type="tns:NsiElementType">
<xs:annotation>
<xs:documentation>Дочерний элемент.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NsiElementFieldType" abstract="true">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля для элемента справочника. Абстрактный тип.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name" type="tns:FieldNameType">
<xs:annotation>
<xs:documentation>Наименование поля элемента справочника.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NsiElementStringFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Строка" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Строка".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementBooleanFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Да/Нет" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:boolean">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Да/Нет".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementFloatFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Вещественное" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:float">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Вещественное".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementDateFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Дата" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:date">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Дата".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementIntegerFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Целое число" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:integer">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Целое число".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementEnumFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Перечислимый" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Position">
<xs:annotation>
<xs:documentation>Запись элемента справочника типа "Перечислимый".</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="GUID">
<xs:annotation>
<xs:documentation>Код поля элемента справочника типа "Перечислимый".</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Значение поля элемента справочника типа "Перечислимый".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementNsiFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Ссылка на справочник" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="NsiRef">
<xs:annotation>
<xs:documentation>Ссылка на справочник.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="NsiItemRegistryNumber" type="tns:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>Реестровый номер справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="tns:ListGroup" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementNsiRefFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Ссылка на элемент внутреннего справочника" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="NsiRef">
<xs:annotation>
<xs:documentation>Ссылка на элемент внутреннего справочника.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="NsiItemRegistryNumber" type="tns:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>Реестровый номер справочника.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Ref" type="tns:nsiRef">
<xs:annotation>
<xs:documentation>Ссылка на элемент справочника.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementOkeiRefFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Ссылка на элемент справочника ОКЕИ" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="Code" type="tns:nsiCodeType">
<xs:annotation>
<xs:documentation>Код единицы измерения по справочнику ОКЕИ.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementFiasAddressRefFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля типа "Ссылка на элемент справочника ФИАС" для элемента справочника.</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element minOccurs="0" name="NsiRef">
<xs:annotation>
<xs:documentation>Ссылка на элемент справочника ФИАС.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Guid" type="xs:string">
<xs:annotation>
<xs:documentation>Идентификационный код позиции в справочнике ФИАС.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="aoGuid" type="xs:string">
<xs:annotation>
<xs:documentation>Глобально-уникальный идентификатор адресного объекта в справочнике ФИАС.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NsiElementAttachmentFieldType">
<xs:annotation>
<xs:documentation>Составной тип. Наименование и значение поля "Вложение"</xs:documentation>
</xs:annotation>
<xs:complexContent mixed="false">
<xs:extension base="tns:NsiElementFieldType">
<xs:sequence>
<xs:element name="Document" type="base:AttachmentType">
<xs:annotation>
<xs:documentation>Документ</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="FieldNameType">
<xs:annotation>
<xs:documentation>Скалярный тип. Наименование поля элемента справочника. Строка не более 200 символов.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
<xs:element name="ListGroup">
<xs:annotation>
<xs:documentation>Группа справочника:
NSI - (по умолчанию) общесистемный
NSIRAO - ОЖФ</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NSI" />
<xs:enumeration value="NSIRAO" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:ns="http://www.w3.org/2000/09/xmldsig#" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:nsi-common="http://dom.gosuslugi.ru/schema/integration/nsi-common/" xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:tns="http://dom.gosuslugi.ru/schema/integration/nsi-common-service-async/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dom.gosuslugi.ru/schema/integration/nsi-common-service-async/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="11.1.0.2">
<xs:import schemaLocation="../lib/hcs-base.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/base/" />
<xs:import schemaLocation="hcs-nsi-common-types.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/nsi-common/" />
</xs:schema>
</wsdl:types>
<wsdl:message name="Fault">
<wsdl:part name="Fault" element="base:Fault" />
</wsdl:message>
<wsdl:message name="exportNsiListRequest">
<wsdl:part name="exportNsiListRequest" element="nsi-common:exportNsiListRequest" />
</wsdl:message>
<wsdl:message name="exportNsiListResult">
<wsdl:part name="AckRequest" element="base:AckRequest" />
</wsdl:message>
<wsdl:message name="exportNsiItemRequest">
<wsdl:part name="exportNsiItemRequest" element="nsi-common:exportNsiItemRequest" />
</wsdl:message>
<wsdl:message name="exportNsiItemResult">
<wsdl:part name="AckRequest" element="base:AckRequest" />
</wsdl:message>
<wsdl:message name="exportNsiPagingItemRequest">
<wsdl:part name="exportNsiPagingItemRequest" element="nsi-common:exportNsiPagingItemRequest" />
</wsdl:message>
<wsdl:message name="exportNsiPagingItemResult">
<wsdl:part name="AckRequest" element="base:AckRequest" />
</wsdl:message>
<wsdl:message name="ISRequestHeader">
<wsdl:part name="Header" element="base:ISRequestHeader" />
</wsdl:message>
<wsdl:message name="ResultHeader">
<wsdl:part name="Header" element="base:ResultHeader" />
</wsdl:message>
<wsdl:message name="getStateRequest">
<wsdl:part name="getStateRequest" element="base:getStateRequest" />
</wsdl:message>
<wsdl:message name="getStateResult">
<wsdl:part name="getStateResult" element="nsi-common:getStateResult" />
</wsdl:message>
<wsdl:portType name="NsiPortsTypeAsync">
<wsdl:operation name="exportNsiList">
<wsdl:documentation>ВИ_НСИ_ППС. Получить перечень общесистемных справочников с указанием даты последнего изменения каждого из них.</wsdl:documentation>
<wsdl:input message="tns:exportNsiListRequest" />
<wsdl:output message="tns:exportNsiListResult" />
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
</wsdl:operation>
<wsdl:operation name="exportNsiItem">
<wsdl:documentation>ВИ_НСИ_ПДС. Получить данные общесистемного справочника.</wsdl:documentation>
<wsdl:input message="tns:exportNsiItemRequest" />
<wsdl:output message="tns:exportNsiItemResult" />
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
</wsdl:operation>
<wsdl:operation name="exportNsiPagingItem">
<wsdl:documentation>ВИ_НСИ_ПДСОСТР. Получить данные общесистемного справочника.</wsdl:documentation>
<wsdl:input message="tns:exportNsiPagingItemRequest" />
<wsdl:output message="tns:exportNsiPagingItemResult" />
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
</wsdl:operation>
<wsdl:operation name="getState">
<wsdl:input message="tns:getStateRequest" />
<wsdl:output message="tns:getStateResult" />
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NsiBindingAsync" type="tns:NsiPortsTypeAsync">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="exportNsiList">
<wsdl:documentation>ВИ_НСИ_ППС. Получить перечень справочников с указанием даты последнего изменения каждого из них.</wsdl:documentation>
<soap:operation soapAction="urn:exportNsiList" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:ISRequestHeader" part="Header" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:ResultHeader" part="Header" use="literal" />
</wsdl:output>
<wsdl:fault name="InvalidRequest">
<soap:fault use="literal" name="InvalidRequest" namespace="" />
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="exportNsiItem">
<wsdl:documentation>ВИ_НСИ_ПДС. Получить данные справочника.</wsdl:documentation>
<soap:operation soapAction="urn:exportNsiItem" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:ISRequestHeader" part="Header" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:ResultHeader" part="Header" use="literal" />
</wsdl:output>
<wsdl:fault name="InvalidRequest">
<soap:fault use="literal" name="InvalidRequest" namespace="" />
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="exportNsiPagingItem">
<soap:operation soapAction="urn:exportNsiPagingItem" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:ISRequestHeader" part="Header" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:ResultHeader" part="Header" use="literal" />
</wsdl:output>
<wsdl:fault name="InvalidRequest">
<soap:fault use="literal" name="InvalidRequest" namespace="" />
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getState">
<soap:operation soapAction="urn:getState" />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:ISRequestHeader" part="Header" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:ResultHeader" part="Header" use="literal" />
</wsdl:output>
<wsdl:fault name="InvalidRequest">
<soap:fault use="literal" name="InvalidRequest" namespace="" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NsiServiceAsync">
<wsdl:documentation>Асинхронный сервис экспорта общих справочников подсистемы НСИ</wsdl:documentation>
<wsdl:port name="NsiPortAsync" binding="tns:NsiBindingAsync">
<soap:address location="https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:nsi-base="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:tns="http://dom.gosuslugi.ru/schema/integration/nsi-common/" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://dom.gosuslugi.ru/schema/integration/nsi-common/" version="12.2.3.8" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="../lib/hcs-base.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/base/" />
<xs:import schemaLocation="../lib/hcs-nsi-base.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/nsi-base/" />
<xs:element name="exportNsiListRequest">
<xs:annotation>
<xs:documentation>???????????? ?????????????????? ?????????????? ?????????????????????????? ????????????????????????.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="base:BaseType">
<xs:sequence>
<xs:element minOccurs="0" ref="nsi-base:ListGroup" />
</xs:sequence>
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="exportNsiItemRequest">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????????????? ???????????? ?????????????????????????? ??????????????????????.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="base:BaseType">
<xs:sequence>
<xs:element name="RegistryNumber" type="nsi-base:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>???????????????????? ?????????? ??????????????????????.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="nsi-base:ListGroup" />
<xs:element minOccurs="0" name="ModifiedAfter" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ?? ??????????, ???????????????????? ?????????? ?????????????? ???????????????? ?????????????????????? ???????????? ???????? ???????????????????? ?? ????????????. ???????? ???? ??????????????, ???????????????????????? ?????? ???????????????? ??????????????????????.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="exportNsiPagingItemRequest">
<xs:annotation>
<xs:documentation>???????????? ???? ?????????????????? ???????????? ?????????????????????????? ??????????????????????.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="base:BaseType">
<xs:sequence>
<xs:element name="RegistryNumber" type="nsi-base:NsiItemRegistryNumberType">
<xs:annotation>
<xs:documentation>???????????????????? ?????????? ??????????????????????.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="nsi-base:ListGroup" />
<xs:element name="Page">
<xs:annotation>
<xs:documentation>???????????????? ??????????????. ???????????????????????? ???? 1000 ??????????????????.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ModifiedAfter" type="xs:dateTime">
<xs:annotation>
<xs:documentation>???????? ?? ??????????, ???????????????????? ?????????? ?????????????? ???????????????? ?????????????????????? ???????????? ???????? ???????????????????? ?? ????????????. ???????? ???? ??????????????, ???????????????????????? ?????? ???????????????? ??????????????????????.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="getStateResult">
<xs:annotation>
<xs:documentation>?????????????? ?????????????? ?????????????????????????? ??????????????????</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="base:BaseAsyncResponseType">
<xs:choice minOccurs="0">
<xs:element ref="base:ErrorMessage" />
<xs:element name="NsiItem" type="nsi-base:NsiItemType" />
<xs:element name="NsiPagingItem">
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="nsi-base:NsiItemType">
<xs:sequence>
<xs:element name="TotalItemsCount" type="xs:int">
<xs:annotation>
<xs:documentation>???????????????????? ?????????????? ?? ??????????????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalPages" type="xs:int">
<xs:annotation>
<xs:documentation>???????????????????? ??????????????</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CurrentPage">
<xs:annotation>
<xs:documentation>?????????? ?????????????? ????????????????</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="NsiList" type="nsi-base:NsiListType" />
</xs:choice>
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" xmlns="http://www.w3.org/2001/XMLSchema">
<simpleType name="CryptoBinary">
<restriction base="base64Binary" />
</simpleType>
<element name="Signature" type="ds:SignatureType" />
<complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo" />
<element ref="ds:SignatureValue" />
<element minOccurs="0" ref="ds:KeyInfo" />
<element minOccurs="0" maxOccurs="unbounded" ref="ds:Object" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="SignatureValue" type="ds:SignatureValueType" />
<complexType name="SignatureValueType">
<simpleContent>
<extension base="base64Binary">
<attribute name="Id" type="ID" use="optional" />
</extension>
</simpleContent>
</complexType>
<element name="SignedInfo" type="ds:SignedInfoType" />
<complexType name="SignedInfoType">
<sequence>
<element ref="ds:CanonicalizationMethod" />
<element ref="ds:SignatureMethod" />
<element maxOccurs="unbounded" ref="ds:Reference" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType" />
<complexType name="CanonicalizationMethodType" mixed="true">
<sequence>
<any minOccurs="0" maxOccurs="unbounded" namespace="##any" />
</sequence>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<element name="SignatureMethod" type="ds:SignatureMethodType" />
<complexType name="SignatureMethodType" mixed="true">
<sequence>
<element minOccurs="0" name="HMACOutputLength" type="ds:HMACOutputLengthType" />
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
</sequence>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<element name="Reference" type="ds:ReferenceType" />
<complexType name="ReferenceType">
<sequence>
<element minOccurs="0" ref="ds:Transforms" />
<element ref="ds:DigestMethod" />
<element ref="ds:DigestValue" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
<attribute name="URI" type="anyURI" use="optional" />
<attribute name="Type" type="anyURI" use="optional" />
</complexType>
<element name="Transforms" type="ds:TransformsType" />
<complexType name="TransformsType">
<sequence>
<element maxOccurs="unbounded" ref="ds:Transform" />
</sequence>
</complexType>
<element name="Transform" type="ds:TransformType" />
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax" />
<element name="XPath" type="string" />
</choice>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<element name="DigestMethod" type="ds:DigestMethodType" />
<complexType name="DigestMethodType" mixed="true">
<sequence>
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
</sequence>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<element name="DigestValue" type="ds:DigestValueType" />
<simpleType name="DigestValueType">
<restriction base="base64Binary" />
</simpleType>
<element name="KeyInfo" type="ds:KeyInfoType" />
<complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName" />
<element ref="ds:KeyValue" />
<element ref="ds:RetrievalMethod" />
<element ref="ds:X509Data" />
<element ref="ds:PGPData" />
<element ref="ds:SPKIData" />
<element ref="ds:MgmtData" />
<any namespace="##other" processContents="lax" />
</choice>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="KeyName" type="string" />
<element name="MgmtData" type="string" />
<element name="KeyValue" type="ds:KeyValueType" />
<complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue" />
<element ref="ds:RSAKeyValue" />
<any namespace="##other" processContents="lax" />
</choice>
</complexType>
<element name="RetrievalMethod" type="ds:RetrievalMethodType" />
<complexType name="RetrievalMethodType">
<sequence>
<element minOccurs="0" ref="ds:Transforms" />
</sequence>
<attribute name="URI" type="anyURI" />
<attribute name="Type" type="anyURI" use="optional" />
</complexType>
<element name="X509Data" type="ds:X509DataType" />
<complexType name="X509DataType">
<sequence maxOccurs="unbounded">
<choice>
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType" />
<element name="X509SKI" type="base64Binary" />
<element name="X509SubjectName" type="string" />
<element name="X509Certificate" type="base64Binary" />
<element name="X509CRL" type="base64Binary" />
<any namespace="##other" processContents="lax" />
</choice>
</sequence>
</complexType>
<complexType name="X509IssuerSerialType">
<sequence>
<element name="X509IssuerName" type="string" />
<element name="X509SerialNumber" type="integer" />
</sequence>
</complexType>
<element name="PGPData" type="ds:PGPDataType" />
<complexType name="PGPDataType">
<choice>
<sequence>
<element name="PGPKeyID" type="base64Binary" />
<element minOccurs="0" name="PGPKeyPacket" type="base64Binary" />
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
</sequence>
<sequence>
<element name="PGPKeyPacket" type="base64Binary" />
<any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
</sequence>
</choice>
</complexType>
<element name="SPKIData" type="ds:SPKIDataType" />
<complexType name="SPKIDataType">
<sequence maxOccurs="unbounded">
<element name="SPKISexp" type="base64Binary" />
<any minOccurs="0" namespace="##other" processContents="lax" />
</sequence>
</complexType>
<element name="Object" type="ds:ObjectType" />
<complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
<attribute name="MimeType" type="string" use="optional" />
<attribute name="Encoding" type="anyURI" use="optional" />
</complexType>
<element name="Manifest" type="ds:ManifestType" />
<complexType name="ManifestType">
<sequence>
<element maxOccurs="unbounded" ref="ds:Reference" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="SignatureProperties" type="ds:SignaturePropertiesType" />
<complexType name="SignaturePropertiesType">
<sequence>
<element maxOccurs="unbounded" ref="ds:SignatureProperty" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="SignatureProperty" type="ds:SignaturePropertyType" />
<complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax" />
</choice>
<attribute name="Target" type="anyURI" use="required" />
<attribute name="Id" type="ID" use="optional" />
</complexType>
<simpleType name="HMACOutputLengthType">
<restriction base="integer" />
</simpleType>
<element name="DSAKeyValue" type="ds:DSAKeyValueType" />
<complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary" />
<element name="Q" type="ds:CryptoBinary" />
</sequence>
<element minOccurs="0" name="G" type="ds:CryptoBinary" />
<element name="Y" type="ds:CryptoBinary" />
<element minOccurs="0" name="J" type="ds:CryptoBinary" />
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary" />
<element name="PgenCounter" type="ds:CryptoBinary" />
</sequence>
</sequence>
</complexType>
<element name="RSAKeyValue" type="ds:RSAKeyValueType" />
<complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary" />
<element name="Exponent" type="ds:CryptoBinary" />
</sequence>
</complexType>
</schema>

View File

@ -118,6 +118,9 @@
<Compile Include="ClientApi\NsiApi\HcsMethodExportNsi.cs" />
<Compile Include="ClientApi\NsiApi\HcsNsiApi.cs" />
<Compile Include="ClientApi\NsiApi\HcsNsiMethod.cs" />
<Compile Include="ClientApi\NsiCommonApi\HcsMethodExportNsiCommon.cs" />
<Compile Include="ClientApi\NsiCommonApi\HcsNsiCommonApi.cs" />
<Compile Include="ClientApi\NsiCommonApi\HcsNsiCommonMethod.cs" />
<Compile Include="ClientApi\OrgRegistryCommonApi\HcsMethodExportOrgRegistry.cs" />
<Compile Include="ClientApi\OrgRegistryCommonApi\HcsOrgRegistryCommonApi.cs" />
<Compile Include="ClientApi\OrgRegistryCommonApi\HcsOrgRegistryCommonMethod.cs" />
@ -136,6 +139,8 @@
<Compile Include="ClientApi\RemoteCaller\IHcsAck.cs" />
<Compile Include="ClientApi\RemoteCaller\IHcsFault.cs" />
<Compile Include="ClientApi\RemoteCaller\IHcsGetStateResult.cs" />
<Compile Include="ClientApi\RemoteCaller\IHcsGetStateResultMany.cs" />
<Compile Include="ClientApi\RemoteCaller\IHcsGetStateResultOne.cs" />
<Compile Include="ClientApi\RemoteCaller\IHcsHeaderType.cs" />
<Compile Include="ClientApi\RemoteCaller\GostSigningMessageInspector.cs" />
<Compile Include="ClientApi\HcsX509Tools.cs" />
@ -159,6 +164,11 @@
<DesignTime>True</DesignTime>
<DependentUpon>Reference.svcmap</DependentUpon>
</Compile>
<Compile Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Reference.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.svcmap</DependentUpon>
</Compile>
<Compile Include="Connected Services\Service.Async.OrgRegistryCommon.v15_7_0_1\Reference.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@ -782,6 +792,40 @@
<None Include="Connected Services\Service.Async.Nsi.v15_7_0_1\xmldsig-core-schema.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\hcs-base.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\hcs-nsi-base.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\hcs-nsi-common-service-async.wsdl" />
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\hcs-nsi-common-types.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.AckRequest.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiItemResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiListResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.exportNsiPagingItemResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.getStateResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.getStateResult.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Hcs.Service.Async.NsiCommon.v15_7_0_1.ResultHeader.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\xmldsig-core-schema.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Connected Services\Service.Async.OrgRegistryCommon.v15_7_0_1\hcs-base.xsd">
<SubType>Designer</SubType>
</None>
@ -981,6 +1025,7 @@
<WCFMetadataStorage Include="Connected Services\Service.Async.DeviceMetering.v15_7_0_1\" />
<WCFMetadataStorage Include="Connected Services\Service.Async.HouseManagement.v15_7_0_1\" />
<WCFMetadataStorage Include="Connected Services\Service.Async.Nsi.v15_7_0_1\" />
<WCFMetadataStorage Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\" />
<WCFMetadataStorage Include="Connected Services\Service.Async.OrgRegistryCommon.v15_7_0_1\" />
</ItemGroup>
<ItemGroup>
@ -1014,6 +1059,12 @@
<Generator>WCF Proxy Generator</Generator>
<LastGenOutput>Reference.cs</LastGenOutput>
</None>
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\configuration91.svcinfo" />
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\configuration.svcinfo" />
<None Include="Connected Services\Service.Async.NsiCommon.v15_7_0_1\Reference.svcmap">
<Generator>WCF Proxy Generator</Generator>
<LastGenOutput>Reference.cs</LastGenOutput>
</None>
<Content Include="HcsWsdlSources\wsdl_xsd_v.15.7.0.1\changelog.txt" />
<Content Include="HcsWsdlSources\how-to-generate-cs-from-wsdl.txt" />
</ItemGroup>

View File

@ -18,6 +18,10 @@
<binding name="NsiBindingAsync">
<security mode="Transport" />
</binding>
<binding name="NsiBindingAsync1">
<security mode="Transport" />
</binding>
<binding name="NsiBindingAsync2" />
</basicHttpBinding>
</bindings>
<client>
@ -40,6 +44,10 @@
<endpoint address="https://api.dom.gosuslugi.ru/ext-bus-nsi-service/services/NsiAsync"
binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync"
contract="Service.Async.Nsi.v15_7_0_1.NsiPortsTypeAsync" name="NsiPortAsync" />
<endpoint address="https://api.dom.gosuslugi.ru/ext-bus-nsi-common-service/services/NsiCommonAsync"
binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync1"
contract="Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync"
name="NsiPortAsync1" />
</client>
</system.serviceModel>
</configuration>