Refactor client classes
This commit is contained in:
7
Hcs.Client/Client/Api/ApiBase.cs
Normal file
7
Hcs.Client/Client/Api/ApiBase.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api
|
||||
{
|
||||
public abstract class ApiBase(ClientBase client)
|
||||
{
|
||||
protected ClientBase client = client;
|
||||
}
|
||||
}
|
||||
32
Hcs.Client/Client/Api/NsiApi.cs
Normal file
32
Hcs.Client/Client/Api/NsiApi.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using Hcs.Client.Api.Request.Exception;
|
||||
using Hcs.Client.Api.Request.Nsi;
|
||||
using Hcs.Service.Async.Nsi;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Client.Api
|
||||
{
|
||||
// http://open-gkh.ru/NsiService/
|
||||
public class NsiApi(ClientBase client) : ApiBase(client)
|
||||
{
|
||||
/// <summary>
|
||||
/// Возвращает данные справочника поставщика информации
|
||||
/// </summary>
|
||||
/// <param name="registryNumber">Реестровый номер справочника</param>
|
||||
/// <param name="token">Токен отмены</param>
|
||||
/// <returns>Данные справочника</returns>
|
||||
public async Task<IEnumerable<NsiItemType>> ExportDataProviderNsiItem(exportDataProviderNsiItemRequestRegistryNumber registryNumber, CancellationToken token = default)
|
||||
{
|
||||
try
|
||||
{
|
||||
var request = new ExportDataProviderNsiItemRequest(client);
|
||||
return await request.ExecuteAsync(registryNumber, token);
|
||||
}
|
||||
catch (NoResultsRemoteException)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
Hcs.Client/Client/Api/Request/Adapter/IAck.cs
Normal file
9
Hcs.Client/Client/Api/Request/Adapter/IAck.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
public interface IAck
|
||||
{
|
||||
string MessageGUID { get; set; }
|
||||
|
||||
string RequesterMessageGUID { get; set; }
|
||||
}
|
||||
}
|
||||
9
Hcs.Client/Client/Api/Request/Adapter/IAsyncClient.cs
Normal file
9
Hcs.Client/Client/Api/Request/Adapter/IAsyncClient.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Client.Api.Request.Adapter
|
||||
{
|
||||
public interface IAsyncClient<TRequestHeader> where TRequestHeader : class
|
||||
{
|
||||
Task<IGetStateResponse> GetStateAsync(TRequestHeader header, IGetStateRequest request);
|
||||
}
|
||||
}
|
||||
9
Hcs.Client/Client/Api/Request/Adapter/IErrorMessage.cs
Normal file
9
Hcs.Client/Client/Api/Request/Adapter/IErrorMessage.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
public interface IErrorMessage
|
||||
{
|
||||
string ErrorCode { get; }
|
||||
|
||||
string Description { get; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
public interface IGetStateRequest
|
||||
{
|
||||
string MessageGUID { get; set; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api.Request.Adapter
|
||||
{
|
||||
public interface IGetStateResponse
|
||||
{
|
||||
IGetStateResult GetStateResult { get; }
|
||||
}
|
||||
}
|
||||
7
Hcs.Client/Client/Api/Request/Adapter/IGetStateResult.cs
Normal file
7
Hcs.Client/Client/Api/Request/Adapter/IGetStateResult.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api.Request.Adapter
|
||||
{
|
||||
public interface IGetStateResult
|
||||
{
|
||||
sbyte RequestState { get; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api.Request.Adapter
|
||||
{
|
||||
public interface IGetStateResultMany : IGetStateResult
|
||||
{
|
||||
object[] Items { get; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.Client.Api.Request.Adapter
|
||||
{
|
||||
public interface IGetStateResultOne : IGetStateResult
|
||||
{
|
||||
object Item { get; }
|
||||
}
|
||||
}
|
||||
9
Hcs.Client/Client/Api/Request/AsyncRequestStateType.cs
Normal file
9
Hcs.Client/Client/Api/Request/AsyncRequestStateType.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal enum AsyncRequestStateType
|
||||
{
|
||||
Received = 1,
|
||||
InProgress,
|
||||
Ready
|
||||
}
|
||||
}
|
||||
16
Hcs.Client/Client/Api/Request/EndPoint.cs
Normal file
16
Hcs.Client/Client/Api/Request/EndPoint.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal enum EndPoint
|
||||
{
|
||||
BillsAsync,
|
||||
DebtRequestsAsync,
|
||||
DeviceMeteringAsync,
|
||||
HomeManagementAsync,
|
||||
LicensesAsync,
|
||||
NsiAsync,
|
||||
NsiCommonAsync,
|
||||
OrgRegistryAsync,
|
||||
OrgRegistryCommonAsync,
|
||||
PaymentsAsync
|
||||
}
|
||||
}
|
||||
30
Hcs.Client/Client/Api/Request/EndPointLocator.cs
Normal file
30
Hcs.Client/Client/Api/Request/EndPointLocator.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal class EndPointLocator
|
||||
{
|
||||
private static readonly Dictionary<EndPoint, string> endPoints;
|
||||
|
||||
static EndPointLocator()
|
||||
{
|
||||
endPoints ??= [];
|
||||
|
||||
endPoints.Add(EndPoint.BillsAsync, "ext-bus-bills-service/services/BillsAsync");
|
||||
endPoints.Add(EndPoint.DebtRequestsAsync, "ext-bus-debtreq-service/services/DebtRequestsAsync");
|
||||
endPoints.Add(EndPoint.DeviceMeteringAsync, "ext-bus-device-metering-service/services/DeviceMeteringAsync");
|
||||
endPoints.Add(EndPoint.HomeManagementAsync, "ext-bus-home-management-service/services/HomeManagementAsync");
|
||||
endPoints.Add(EndPoint.LicensesAsync, "ext-bus-licenses-service/services/LicensesAsync");
|
||||
endPoints.Add(EndPoint.NsiAsync, "ext-bus-nsi-service/services/NsiAsync");
|
||||
endPoints.Add(EndPoint.NsiCommonAsync, "ext-bus-nsi-common-service/services/NsiCommonAsync");
|
||||
endPoints.Add(EndPoint.OrgRegistryAsync, "ext-bus-org-registry-service/services/OrgRegistryAsync");
|
||||
endPoints.Add(EndPoint.OrgRegistryCommonAsync, "ext-bus-org-registry-common-service/services/OrgRegistryCommonAsync");
|
||||
endPoints.Add(EndPoint.PaymentsAsync, "ext-bus-payment-service/services/PaymentAsync");
|
||||
}
|
||||
|
||||
internal static string GetPath(EndPoint endPoint)
|
||||
{
|
||||
return endPoints[endPoint];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
namespace Hcs.Client.Api.Request.Exception
|
||||
{
|
||||
/// <summary>
|
||||
/// Исключение указывает на то, что сервер обнаружил что у
|
||||
/// него нет объектов для выдачи по условию
|
||||
/// </summary>
|
||||
internal class NoResultsRemoteException : RemoteException
|
||||
{
|
||||
public NoResultsRemoteException(string description) : base(NO_OBJECTS_FOR_EXPORT, description) { }
|
||||
|
||||
public NoResultsRemoteException(string errorCode, string description) :
|
||||
base(errorCode, description) { }
|
||||
|
||||
public NoResultsRemoteException(string errorCode, string description, System.Exception nested) :
|
||||
base(errorCode, description, nested) { }
|
||||
}
|
||||
}
|
||||
65
Hcs.Client/Client/Api/Request/Exception/RemoteException.cs
Normal file
65
Hcs.Client/Client/Api/Request/Exception/RemoteException.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using Hcs.Client.Internal;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Hcs.Client.Api.Request.Exception
|
||||
{
|
||||
internal class RemoteException : System.Exception
|
||||
{
|
||||
internal const string NO_OBJECTS_FOR_EXPORT = "INT002012";
|
||||
internal const string MISSING_IN_REGISTRY = "INT002000";
|
||||
internal const string ACCESS_DENIED = "AUT011003";
|
||||
|
||||
internal string ErrorCode { get; private set; }
|
||||
internal string Description { get; private set; }
|
||||
|
||||
public RemoteException(string errorCode, string description)
|
||||
: base(Combine(errorCode, description))
|
||||
{
|
||||
ErrorCode = errorCode;
|
||||
Description = description;
|
||||
}
|
||||
|
||||
public RemoteException(string errorCode, string description, System.Exception nestedException)
|
||||
: base(Combine(errorCode, description), nestedException)
|
||||
{
|
||||
ErrorCode = errorCode;
|
||||
Description = description;
|
||||
}
|
||||
|
||||
private static string Combine(string errorCode, string description)
|
||||
{
|
||||
return $"Remote server returned an error: [{errorCode}] {description}";
|
||||
}
|
||||
|
||||
internal static RemoteException CreateNew(string errorCode, string description, System.Exception nested = null)
|
||||
{
|
||||
if (string.Compare(errorCode, NO_OBJECTS_FOR_EXPORT) == 0)
|
||||
{
|
||||
return new NoResultsRemoteException(errorCode, description, nested);
|
||||
}
|
||||
return new RemoteException(errorCode, description);
|
||||
}
|
||||
|
||||
internal static RemoteException CreateNew(RemoteException nested)
|
||||
{
|
||||
if (nested == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(nested));
|
||||
}
|
||||
return CreateNew(nested.ErrorCode, nested.Description, nested);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает true, если ошибка @e или ее вложенные ошибки содержат @errorCode
|
||||
/// </summary>
|
||||
internal static bool ContainsErrorCode(SystemException e, string errorCode)
|
||||
{
|
||||
if (e == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return Util.EnumerateInnerExceptions(e).OfType<RemoteException>().Where(x => x.ErrorCode == errorCode).Any();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
namespace Hcs.Client.Api.Request.Exception
|
||||
{
|
||||
internal class RestartTimeoutException : System.Exception
|
||||
{
|
||||
public RestartTimeoutException(string message) : base(message) { }
|
||||
|
||||
public RestartTimeoutException(string message, System.Exception innerException) : base(message, innerException) { }
|
||||
}
|
||||
}
|
||||
23
Hcs.Client/Client/Api/Request/GostSigningEndpointBehavior.cs
Normal file
23
Hcs.Client/Client/Api/Request/GostSigningEndpointBehavior.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System.ServiceModel.Channels;
|
||||
using System.ServiceModel.Description;
|
||||
using System.ServiceModel.Dispatcher;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal class GostSigningEndpointBehavior(ClientBase client) : IEndpointBehavior
|
||||
{
|
||||
private readonly ClientBase client = client;
|
||||
|
||||
public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { }
|
||||
|
||||
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
|
||||
{
|
||||
clientRuntime.MessageInspectors.Add(
|
||||
new GostSigningMessageInspector(client));
|
||||
}
|
||||
|
||||
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { }
|
||||
|
||||
public void Validate(ServiceEndpoint endpoint) { }
|
||||
}
|
||||
}
|
||||
116
Hcs.Client/Client/Api/Request/GostSigningMessageInspector.cs
Normal file
116
Hcs.Client/Client/Api/Request/GostSigningMessageInspector.cs
Normal file
@ -0,0 +1,116 @@
|
||||
using Hcs.Client.Internal;
|
||||
using Hcs.GostXades;
|
||||
using System.IO;
|
||||
using System.ServiceModel;
|
||||
using System.ServiceModel.Channels;
|
||||
using System.ServiceModel.Dispatcher;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
/// <summary>
|
||||
/// Фильтр сообщений добавляет в XML-сообщение электронную подпись XADES/GOST
|
||||
/// </summary>
|
||||
internal class GostSigningMessageInspector(ClientBase client) : IClientMessageInspector
|
||||
{
|
||||
private readonly ClientBase client = client;
|
||||
|
||||
public object BeforeSendRequest(ref Message request, IClientChannel channel)
|
||||
{
|
||||
try
|
||||
{
|
||||
var filterHeader = "[Message Inspector] ";
|
||||
|
||||
PurgeDebuggerHeaders(ref request);
|
||||
|
||||
var messageBody = GetMessageBodyString(ref request, Encoding.UTF8);
|
||||
if (!messageBody.Contains(Constants.SIGNED_XML_ELEMENT_ID))
|
||||
{
|
||||
client.TryCaptureMessage(true, messageBody);
|
||||
}
|
||||
else
|
||||
{
|
||||
var certInfo = X509Tools.GetFullnameWithExpirationDateStr(client.Certificate);
|
||||
client.TryLog($"{filterHeader} signing message with key [{certInfo}]...");
|
||||
|
||||
var stopwatch = System.Diagnostics.Stopwatch.StartNew();
|
||||
var service = new GostXadesBesService(client.CryptoProviderType);
|
||||
var signedXml = service.Sign(messageBody,
|
||||
Constants.SIGNED_XML_ELEMENT_ID,
|
||||
client.CertificateThumbprint,
|
||||
client.CertificatePassword);
|
||||
stopwatch.Stop();
|
||||
|
||||
client.TryLog($"{filterHeader} message signed in {stopwatch.ElapsedMilliseconds} ms");
|
||||
client.TryCaptureMessage(true, signedXml);
|
||||
|
||||
request = Message.CreateMessage(
|
||||
XmlReaderFromString(signedXml), int.MaxValue, request.Version);
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
throw new System.Exception($"Exception occured in {GetType().Name}", ex);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void PurgeDebuggerHeaders(ref Message request)
|
||||
{
|
||||
var limit = request.Headers.Count;
|
||||
for (var i = 0; i < limit; ++i)
|
||||
{
|
||||
if (request.Headers[i].Name.Equals("VsDebuggerCausalityData"))
|
||||
{
|
||||
request.Headers.RemoveAt(i);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string GetMessageBodyString(ref Message request, Encoding encoding)
|
||||
{
|
||||
var mb = request.CreateBufferedCopy(int.MaxValue);
|
||||
request = mb.CreateMessage();
|
||||
|
||||
var s = new MemoryStream();
|
||||
var xw = XmlWriter.Create(s);
|
||||
mb.CreateMessage().WriteMessage(xw);
|
||||
xw.Flush();
|
||||
|
||||
s.Position = 0;
|
||||
|
||||
var bXML = new byte[s.Length];
|
||||
s.Read(bXML, 0, (int)s.Length);
|
||||
|
||||
if (bXML[0] != (byte)'<')
|
||||
{
|
||||
return encoding.GetString(bXML, 3, bXML.Length - 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
return encoding.GetString(bXML, 0, bXML.Length);
|
||||
}
|
||||
}
|
||||
|
||||
private XmlReader XmlReaderFromString(string xml)
|
||||
{
|
||||
var stream = new MemoryStream();
|
||||
var writer = new StreamWriter(stream);
|
||||
writer.Write(xml);
|
||||
writer.Flush();
|
||||
|
||||
stream.Position = 0;
|
||||
|
||||
return XmlReader.Create(stream);
|
||||
}
|
||||
|
||||
public void AfterReceiveReply(ref Message reply, object correlationState)
|
||||
{
|
||||
client.TryCaptureMessage(false, reply.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
using Hcs.Client.Internal;
|
||||
using Hcs.Service.Async.Nsi;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Client.Api.Request.Nsi
|
||||
{
|
||||
internal class ExportDataProviderNsiItemRequest(ClientBase client) : NsiRequestBase(client)
|
||||
{
|
||||
internal async Task<IEnumerable<NsiItemType>> ExecuteAsync(exportDataProviderNsiItemRequestRegistryNumber registryNumber, CancellationToken token)
|
||||
{
|
||||
// http://open-gkh.ru/Nsi/exportDataProviderNsiItemRequest.html
|
||||
var request = new exportDataProviderNsiItemRequest
|
||||
{
|
||||
Id = Constants.SIGNED_XML_ELEMENT_ID,
|
||||
version = "10.0.1.2",
|
||||
RegistryNumber = registryNumber,
|
||||
};
|
||||
|
||||
var stateResult = await SendAndWaitResultAsync(request, async(portClient) =>
|
||||
{
|
||||
var response = await portClient.exportDataProviderNsiItemAsync(CreateRequestHeader(), request);
|
||||
return response.AckRequest.Ack;
|
||||
}, token);
|
||||
|
||||
return stateResult.Items.OfType<NsiItemType>();
|
||||
}
|
||||
}
|
||||
}
|
||||
49
Hcs.Client/Client/Api/Request/Nsi/NsiRequestBase.cs
Normal file
49
Hcs.Client/Client/Api/Request/Nsi/NsiRequestBase.cs
Normal file
@ -0,0 +1,49 @@
|
||||
using Hcs.Client.Api.Request;
|
||||
using Hcs.Client.Api.Request.Adapter;
|
||||
using Hcs.Service.Async.Nsi;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Service.Async.Nsi
|
||||
{
|
||||
public partial class getStateResult : IGetStateResultMany { }
|
||||
|
||||
public partial class NsiPortsTypeAsyncClient : IAsyncClient<RequestHeader>
|
||||
{
|
||||
public async Task<IGetStateResponse> GetStateAsync(RequestHeader header, IGetStateRequest request)
|
||||
{
|
||||
return await getStateAsync(header, (getStateRequest)request);
|
||||
}
|
||||
}
|
||||
|
||||
public partial class getStateResponse : IGetStateResponse
|
||||
{
|
||||
public IGetStateResult GetStateResult => getStateResult;
|
||||
}
|
||||
|
||||
public partial class AckRequestAck : IAck { }
|
||||
|
||||
public partial class ErrorMessageType : IErrorMessage { }
|
||||
|
||||
public partial class getStateRequest : IGetStateRequest { }
|
||||
}
|
||||
|
||||
namespace Hcs.Client.Api.Request.Nsi
|
||||
{
|
||||
internal class NsiRequestBase(ClientBase client) :
|
||||
RequestBase<getStateResult,
|
||||
NsiPortsTypeAsyncClient,
|
||||
NsiPortsTypeAsync,
|
||||
RequestHeader,
|
||||
AckRequestAck,
|
||||
ErrorMessageType,
|
||||
getStateRequest>(client)
|
||||
{
|
||||
protected override EndPoint EndPoint => EndPoint.NsiAsync;
|
||||
|
||||
protected override bool EnableMinimalResponseWaitDelay => true;
|
||||
|
||||
protected override bool CanBeRestarted => true;
|
||||
|
||||
protected override int RestartTimeoutMinutes => 20;
|
||||
}
|
||||
}
|
||||
407
Hcs.Client/Client/Api/Request/RequestBase.cs
Normal file
407
Hcs.Client/Client/Api/Request/RequestBase.cs
Normal file
@ -0,0 +1,407 @@
|
||||
using Hcs.Client.Api.Request.Adapter;
|
||||
using Hcs.Client.Api.Request.Exception;
|
||||
using Hcs.Client.Internal;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.ServiceModel;
|
||||
using System.ServiceModel.Channels;
|
||||
using System.ServiceModel.Description;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal abstract class RequestBase<TResult, TAsyncClient, TChannel, TRequestHeader, TAck, TErrorMessage, TGetStateRequest>
|
||||
where TResult : IGetStateResult
|
||||
where TAsyncClient : ClientBase<TChannel>, TChannel, IAsyncClient<TRequestHeader>
|
||||
where TChannel : class
|
||||
where TRequestHeader : class
|
||||
where TAck : IAck
|
||||
where TErrorMessage : IErrorMessage
|
||||
where TGetStateRequest : IGetStateRequest, new()
|
||||
{
|
||||
private const int RESPONSE_WAIT_DELAY_MIN = 2;
|
||||
private const int RESPONSE_WAIT_DELAY_MAX = 5;
|
||||
|
||||
// "[EXP001000] Произошла ошибка при передаче данных. Попробуйте осуществить передачу данных повторно".
|
||||
// Видимо, эту ошибку нельзя включать здесь. Предположительно это маркер DDOS защиты и если отправлять
|
||||
// точно такой же пакет повторно, то ошибка входит в бесконечный цикл - необходимо заново
|
||||
// собирать пакет с новыми кодами и временем и новой подписью. Такую ошибку надо обнаруживать
|
||||
// на более высоком уровне и заново отправлять запрос новым пакетом.
|
||||
private static readonly string[] ignorableSystemErrorMarkers = [
|
||||
"Истекло время ожидания шлюза",
|
||||
"Базовое соединение закрыто: Соединение, которое должно было работать, было разорвано сервером",
|
||||
"Попробуйте осуществить передачу данных повторно",
|
||||
"(502) Недопустимый шлюз",
|
||||
"(503) Сервер не доступен"
|
||||
];
|
||||
|
||||
protected ClientBase client;
|
||||
protected CustomBinding binding;
|
||||
|
||||
protected abstract EndPoint EndPoint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Для запросов, возвращающих мало данных, можно попробовать сократить
|
||||
/// начальный период ожидания подготовки ответа
|
||||
/// </summary>
|
||||
protected abstract bool EnableMinimalResponseWaitDelay { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Указывает на то, что можно ли этот метод перезапускать в случае зависания
|
||||
/// ожидания или в случае сбоя на сервере
|
||||
/// </summary>
|
||||
protected abstract bool CanBeRestarted { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Для противодействия зависанию ожидания вводится предел ожидания в минутах
|
||||
/// для запросов, которые можно перезапустить заново с теми же параметрами
|
||||
/// </summary>
|
||||
protected abstract int RestartTimeoutMinutes { get; }
|
||||
|
||||
private EndpointAddress RemoteAddress => new(client.ComposeEndpointUri(EndPointLocator.GetPath(EndPoint)));
|
||||
|
||||
private string ThreadIdText => $"(Thread #{ThreadId})";
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает идентификатор текущего исполняемого потока
|
||||
/// </summary>
|
||||
private int ThreadId => Environment.CurrentManagedThreadId;
|
||||
|
||||
public RequestBase(ClientBase client)
|
||||
{
|
||||
this.client = client;
|
||||
|
||||
ConfigureBinding();
|
||||
}
|
||||
|
||||
private void ConfigureBinding()
|
||||
{
|
||||
binding = new CustomBinding
|
||||
{
|
||||
CloseTimeout = TimeSpan.FromSeconds(180),
|
||||
OpenTimeout = TimeSpan.FromSeconds(180),
|
||||
ReceiveTimeout = TimeSpan.FromSeconds(180),
|
||||
SendTimeout = TimeSpan.FromSeconds(180)
|
||||
};
|
||||
|
||||
binding.Elements.Add(new TextMessageEncodingBindingElement
|
||||
{
|
||||
MessageVersion = MessageVersion.Soap11,
|
||||
WriteEncoding = Encoding.UTF8
|
||||
});
|
||||
|
||||
if (client.UseTunnel)
|
||||
{
|
||||
if (!System.Diagnostics.Process.GetProcessesByName("stunnel").Any())
|
||||
{
|
||||
throw new System.Exception("stunnel is not running");
|
||||
}
|
||||
|
||||
binding.Elements.Add(new HttpTransportBindingElement
|
||||
{
|
||||
AuthenticationScheme = (client.IsPPAK ? System.Net.AuthenticationSchemes.Digest : System.Net.AuthenticationSchemes.Basic),
|
||||
MaxReceivedMessageSize = int.MaxValue,
|
||||
UseDefaultWebProxy = false
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
binding.Elements.Add(new HttpsTransportBindingElement
|
||||
{
|
||||
AuthenticationScheme = (client.IsPPAK ? System.Net.AuthenticationSchemes.Digest : System.Net.AuthenticationSchemes.Basic),
|
||||
MaxReceivedMessageSize = int.MaxValue,
|
||||
RequireClientCertificate = true,
|
||||
UseDefaultWebProxy = false
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
protected async Task<TResult> SendAndWaitResultAsync(
|
||||
object request,
|
||||
Func<TAsyncClient, Task<TAck>> sender,
|
||||
CancellationToken token)
|
||||
{
|
||||
token.ThrowIfCancellationRequested();
|
||||
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(request));
|
||||
}
|
||||
|
||||
var version = RequestHelper.GetRequestVersionString(request);
|
||||
client.TryLog($"Executing request {RemoteAddress.Uri}/{request.GetType().Name} of version {version}...");
|
||||
|
||||
TAck ack;
|
||||
|
||||
var stopWatch = System.Diagnostics.Stopwatch.StartNew();
|
||||
using (var asyncClient = CreateAsyncClient())
|
||||
{
|
||||
ack = await sender(asyncClient);
|
||||
}
|
||||
stopWatch.Stop();
|
||||
|
||||
client.TryLog($"Request executed in {stopWatch.ElapsedMilliseconds} ms, result GUID is {ack.MessageGUID}");
|
||||
|
||||
var result = await WaitForResultAsync(ack, true, token);
|
||||
if (result is IQueryable queryableResult)
|
||||
{
|
||||
queryableResult.OfType<TErrorMessage>().ToList().ForEach(x =>
|
||||
{
|
||||
throw RemoteException.CreateNew(x.ErrorCode, x.Description);
|
||||
});
|
||||
}
|
||||
else if (result is TErrorMessage x)
|
||||
{
|
||||
throw RemoteException.CreateNew(x.ErrorCode, x.Description);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (RestartTimeoutException e)
|
||||
{
|
||||
if (!CanBeRestarted)
|
||||
{
|
||||
throw new System.Exception("Cannot restart request execution on timeout", e);
|
||||
}
|
||||
|
||||
client.TryLog($"Restarting {request.GetType().Name} request execution...");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private TAsyncClient CreateAsyncClient()
|
||||
{
|
||||
var asyncClient = (TAsyncClient)Activator.CreateInstance(typeof(TAsyncClient), binding, RemoteAddress);
|
||||
ConfigureEndpointCredentials(asyncClient.Endpoint, asyncClient.ClientCredentials);
|
||||
return asyncClient;
|
||||
}
|
||||
|
||||
private void ConfigureEndpointCredentials(
|
||||
ServiceEndpoint serviceEndpoint, ClientCredentials clientCredentials)
|
||||
{
|
||||
serviceEndpoint.EndpointBehaviors.Add(new GostSigningEndpointBehavior(client));
|
||||
|
||||
if (!client.IsPPAK)
|
||||
{
|
||||
clientCredentials.UserName.UserName = Constants.NAME_SIT;
|
||||
clientCredentials.UserName.Password = Constants.PASSWORD_SIT;
|
||||
}
|
||||
|
||||
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (
|
||||
object sender, X509Certificate serverCertificate, X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
|
||||
{
|
||||
return true;
|
||||
};
|
||||
|
||||
if (!client.UseTunnel)
|
||||
{
|
||||
clientCredentials.ClientCertificate.SetCertificate(
|
||||
StoreLocation.CurrentUser,
|
||||
StoreName.My,
|
||||
X509FindType.FindByThumbprint,
|
||||
client.CertificateThumbprint);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Основной алгоритм ожидания ответа на асинхронный запрос.
|
||||
/// Из документации ГИС ЖКХ:
|
||||
/// Также рекомендуем придерживаться следующего алгоритма отправки запросов на получение статуса обработки пакета в случае использования асинхронных сервисов ГИС ЖКХ (в рамках одного MessageGUID):
|
||||
/// - первый запрос getState направлять не ранее чем через 10 секунд, после получения квитанции о приеме пакета с бизнес-данными от сервиса ГИС КЖХ;
|
||||
/// - в случае, если на первый запрос getSate получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 60 секунд после отправки предыдущего запроса;
|
||||
/// - в случае, если на второй запрос getSate получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 300 секунд после отправки предыдущего запроса;
|
||||
/// - в случае, если на третий запрос getSate получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 900 секунд после отправки предыдущего запроса;
|
||||
/// - в случае, если на четвертый(и все последующие запросы) getState получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 1800 секунд после отправки предыдущего запроса.
|
||||
/// </summary>
|
||||
private async Task<TResult> WaitForResultAsync(
|
||||
TAck ack, bool withInitialDelay, CancellationToken token)
|
||||
{
|
||||
TResult result;
|
||||
|
||||
var startTime = DateTime.Now;
|
||||
for (var attempts = 1; ; attempts++)
|
||||
{
|
||||
token.ThrowIfCancellationRequested();
|
||||
|
||||
var delaySec = EnableMinimalResponseWaitDelay ? RESPONSE_WAIT_DELAY_MIN : RESPONSE_WAIT_DELAY_MAX;
|
||||
if (attempts >= 2)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX;
|
||||
}
|
||||
if (attempts >= 3)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX * 2;
|
||||
}
|
||||
if (attempts >= 5)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX * 4;
|
||||
}
|
||||
if (attempts >= 7)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX * 8;
|
||||
}
|
||||
if (attempts >= 9)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX * 16;
|
||||
}
|
||||
if (attempts >= 12)
|
||||
{
|
||||
delaySec = RESPONSE_WAIT_DELAY_MAX * 60;
|
||||
}
|
||||
|
||||
if (attempts > 1 || withInitialDelay)
|
||||
{
|
||||
var minutesElapsed = (int)(DateTime.Now - startTime).TotalMinutes;
|
||||
if (CanBeRestarted && minutesElapsed > RestartTimeoutMinutes)
|
||||
{
|
||||
throw new RestartTimeoutException($"{RestartTimeoutMinutes} minute(s) wait time exceeded");
|
||||
}
|
||||
|
||||
client.TryLog($"Waiting {delaySec} sec for attempt #{attempts}" +
|
||||
$" to get response ({minutesElapsed} minute(s) elapsed)...");
|
||||
|
||||
await Task.Delay(delaySec * 1000, token);
|
||||
}
|
||||
|
||||
client.TryLog($"Requesting response, attempt #{attempts} in {ThreadIdText}...");
|
||||
|
||||
result = await TryGetResultAsync(ack);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
client.TryLog($"Response received!");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Выполняет однократную проверку наличия результата.
|
||||
/// Возвращает default если результата еще нет.
|
||||
/// </summary>
|
||||
private async Task<TResult> TryGetResultAsync(TAck ack)
|
||||
{
|
||||
using var asyncClient = CreateAsyncClient();
|
||||
var requestHeader = RequestHelper.CreateHeader<TRequestHeader>(client);
|
||||
var requestBody = new TGetStateRequest
|
||||
{
|
||||
MessageGUID = ack.MessageGUID
|
||||
};
|
||||
var response = await asyncClient.GetStateAsync(requestHeader, requestBody);
|
||||
var result = response.GetStateResult;
|
||||
if (result.RequestState == (int)AsyncRequestStateType.Ready)
|
||||
{
|
||||
return (TResult)result;
|
||||
}
|
||||
return default;
|
||||
}
|
||||
|
||||
protected TRequestHeader CreateRequestHeader()
|
||||
{
|
||||
return RequestHelper.CreateHeader<TRequestHeader>(client);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Исполнение повторяемой операции некоторое допустимое число ошибок
|
||||
/// </summary>
|
||||
protected async Task<TRepeatableResult> RunRepeatableTaskAsync<TRepeatableResult>(
|
||||
Func<Task<TRepeatableResult>> taskFunc, Func<System.Exception, bool> canIgnoreFunc, int maxAttempts)
|
||||
{
|
||||
for (var attempts = 1; ; attempts++)
|
||||
{
|
||||
try
|
||||
{
|
||||
return await taskFunc();
|
||||
}
|
||||
catch (System.Exception e)
|
||||
{
|
||||
if (canIgnoreFunc(e))
|
||||
{
|
||||
if (attempts < maxAttempts)
|
||||
{
|
||||
client.TryLog($"Ignoring error of attempt #{attempts} of {maxAttempts} attempts");
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
throw new System.Exception("Too much attempts with error");
|
||||
}
|
||||
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Для запросов к серверу которые можно направлять несколько раз, разрешаем
|
||||
/// серверу аномально отказаться. Предполагается, что здесь мы игнорируем
|
||||
/// только жесткие отказы серверной инфраструктуры, которые указывают
|
||||
/// что запрос даже не был принят в обработку. Также все запросы на
|
||||
/// чтение можно повторять в случае их серверных системных ошибок.
|
||||
/// </summary>
|
||||
protected async Task<TRepeatableResult> RunRepeatableTaskInsistentlyAsync<TRepeatableResult>(
|
||||
Func<Task<TRepeatableResult>> func, CancellationToken token)
|
||||
{
|
||||
var afterErrorDelaySec = 120;
|
||||
for (var attempt = 1; ; attempt++)
|
||||
{
|
||||
try
|
||||
{
|
||||
return await func();
|
||||
}
|
||||
catch (System.Exception e)
|
||||
{
|
||||
if (CanIgnoreSuchException(e, out string marker))
|
||||
{
|
||||
client.TryLog($"Ignoring error of attempt #{attempt} with type [{marker}]");
|
||||
client.TryLog($"Waiting {afterErrorDelaySec} sec until next attempt...");
|
||||
|
||||
await Task.Delay(afterErrorDelaySec * 1000, token);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (e is RestartTimeoutException)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (e is RemoteException)
|
||||
{
|
||||
throw RemoteException.CreateNew(e as RemoteException);
|
||||
}
|
||||
|
||||
throw new System.Exception("Cannot ignore this exception", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool CanIgnoreSuchException(System.Exception e, out string resultMarker)
|
||||
{
|
||||
foreach (var marker in ignorableSystemErrorMarkers)
|
||||
{
|
||||
var found = Util.EnumerateInnerExceptions(e).Find(
|
||||
x => x.Message != null && x.Message.Contains(marker));
|
||||
if (found != null)
|
||||
{
|
||||
resultMarker = marker;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
resultMarker = null;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
101
Hcs.Client/Client/Api/Request/RequestHelper.cs
Normal file
101
Hcs.Client/Client/Api/Request/RequestHelper.cs
Normal file
@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal static class RequestHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// Подготовка заголовка сообщения отправляемого в ГИС ЖКХ с обязательными атрибутами.
|
||||
/// Заголовки могут быть разного типа для разных типов сообщений, но имена полей одинаковые.
|
||||
/// </summary>
|
||||
internal static THeader CreateHeader<THeader>(ClientBase client) where THeader : class
|
||||
{
|
||||
try
|
||||
{
|
||||
var instance = Activator.CreateInstance(typeof(THeader));
|
||||
foreach (var prop in instance.GetType().GetProperties())
|
||||
{
|
||||
switch (prop.Name)
|
||||
{
|
||||
case "Item":
|
||||
prop.SetValue(instance, client.OrgPPAGUID);
|
||||
break;
|
||||
|
||||
case "ItemElementName":
|
||||
prop.SetValue(instance, Enum.Parse(prop.PropertyType, "orgPPAGUID"));
|
||||
break;
|
||||
|
||||
case "MessageGUID":
|
||||
prop.SetValue(instance, Guid.NewGuid().ToString());
|
||||
break;
|
||||
|
||||
case "Date":
|
||||
prop.SetValue(instance, DateTime.Now);
|
||||
break;
|
||||
|
||||
case "IsOperatorSignatureSpecified":
|
||||
if (client.Role == OrganizationRole.RC || client.Role == OrganizationRole.RSO)
|
||||
{
|
||||
prop.SetValue(instance, true);
|
||||
}
|
||||
break;
|
||||
|
||||
case "IsOperatorSignature":
|
||||
if (client.Role == OrganizationRole.RC || client.Role == OrganizationRole.RSO)
|
||||
{
|
||||
prop.SetValue(instance, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return instance as THeader;
|
||||
}
|
||||
catch (ArgumentNullException e)
|
||||
{
|
||||
throw new ApplicationException($"Error occured while building request header: {e.Message}");
|
||||
}
|
||||
catch (SystemException e)
|
||||
{
|
||||
throw new ApplicationException($"Error occured while building request header: {e.GetBaseException().Message}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Для объекта запроса возвращает значение строки свойства version
|
||||
/// </summary>
|
||||
internal static string GetRequestVersionString(object requestObject)
|
||||
{
|
||||
if (requestObject == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var versionHost = requestObject;
|
||||
if (versionHost != null)
|
||||
{
|
||||
var versionProperty = versionHost.GetType().GetProperties().FirstOrDefault(x => x.Name == "version");
|
||||
if (versionProperty != null)
|
||||
{
|
||||
return versionProperty.GetValue(versionHost) as string;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var field in requestObject.GetType().GetFields())
|
||||
{
|
||||
versionHost = field.GetValue(requestObject);
|
||||
if (versionHost != null)
|
||||
{
|
||||
var versionProperty = versionHost.GetType().GetProperties().FirstOrDefault(x => x.Name == "version");
|
||||
if (versionProperty != null)
|
||||
{
|
||||
return versionProperty.GetValue(versionHost) as string;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
172
Hcs.Client/Client/Api/Request/X509Tools.cs
Normal file
172
Hcs.Client/Client/Api/Request/X509Tools.cs
Normal file
@ -0,0 +1,172 @@
|
||||
using Org.BouncyCastle.Asn1;
|
||||
using System;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
|
||||
namespace Hcs.Client.Api.Request
|
||||
{
|
||||
internal class X509Tools
|
||||
{
|
||||
private const string PRIVATE_KEY_USAGE_PERIOD = "2.5.29.16";
|
||||
|
||||
public static string GetFullnameWithExpirationDateStr(X509Certificate2 x509cert)
|
||||
{
|
||||
var (фамилия, имя, отчество) = GetFullname(x509cert);
|
||||
return фамилия + " " + имя + " " + отчество +
|
||||
" до " + GetNotAfterDate(x509cert).ToString("dd.MM.yyyy");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает массив из трех строк, содержащих соответственно Фамилию, Имя и Отчество
|
||||
/// полученных из данных сертификата. Если сертификат не содержит ФИО, то возвращается массив
|
||||
/// из трех пустых строк. Это не точный метод определять имя, он предполагает, что
|
||||
/// поля SN, G, CN содержат ФИО в определенном порядке, что правдоподобно но не обязательно.
|
||||
/// </summary>
|
||||
private static (string Фамилия, string Имя, string Отчество) GetFullname(X509Certificate2 x509cert)
|
||||
{
|
||||
string фам = "", имя = "", отч = "";
|
||||
|
||||
// Сначала ищем поля surname (SN) и given-name (G)
|
||||
var sn = DecodeSubjectField(x509cert, "SN");
|
||||
var g = DecodeSubjectField(x509cert, "G");
|
||||
if (!string.IsNullOrEmpty(sn) && !string.IsNullOrEmpty(g))
|
||||
{
|
||||
фам = sn;
|
||||
|
||||
var gParts = g.Split(' ');
|
||||
if (gParts != null && gParts.Length >= 1)
|
||||
{
|
||||
имя = gParts[0];
|
||||
}
|
||||
if (gParts != null && gParts.Length >= 2)
|
||||
{
|
||||
отч = gParts[1];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Иначе берем три первых слова из common name (CN), игнорируя кавычки
|
||||
var cn = DecodeSubjectField(x509cert, "CN");
|
||||
if (!string.IsNullOrEmpty(cn))
|
||||
{
|
||||
cn = new StringBuilder(cn).Replace("\"", "").ToString();
|
||||
|
||||
char[] separators = [' ', ';'];
|
||||
var cnParts = cn.Split(separators);
|
||||
if (cnParts != null && cnParts.Length >= 1)
|
||||
{
|
||||
фам = cnParts[0];
|
||||
}
|
||||
if (cnParts != null && cnParts.Length >= 2)
|
||||
{
|
||||
имя = cnParts[1];
|
||||
}
|
||||
if (cnParts != null && cnParts.Length >= 3)
|
||||
{
|
||||
отч = cnParts[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (фам, имя, отч);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает значение поля с именем @subName включенного в различимое имя Subject
|
||||
/// </summary>
|
||||
private static string DecodeSubjectField(X509Certificate2 x509cert, string subName)
|
||||
{
|
||||
// Чтобы посмотреть все поля сертификата
|
||||
//System.Diagnostics.Trace.WriteLine("x509decode = " + x509cert.SubjectName.Decode(
|
||||
//X500DistinguishedNameFlags.UseNewLines));
|
||||
|
||||
// Декодируем различимое имя на отдельные строки через переводы строк для надежности разбора
|
||||
var decoded = x509cert.SubjectName.Decode(X500DistinguishedNameFlags.UseNewLines);
|
||||
char[] separators = ['\n', '\r'];
|
||||
var parts = decoded.Split(separators, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (parts == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// Каждая часть начинается с имени и отделяется от значения символом равно
|
||||
foreach (var part in parts)
|
||||
{
|
||||
if (part.Length <= subName.Length + 1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (part.StartsWith(subName) && part[subName.Length] == '=')
|
||||
{
|
||||
return part.Substring(subName.Length + 1);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает дату окончания действия сертификата
|
||||
/// </summary>
|
||||
private static DateTime GetNotAfterDate(X509Certificate2 x509cert)
|
||||
{
|
||||
// Сначала пытаемся определить срок первичного ключа, а затем уже самого сертификата
|
||||
var датаОкончания = GetPrivateKeyUsageEndDate(x509cert);
|
||||
if (датаОкончания != null)
|
||||
{
|
||||
return (DateTime)датаОкончания;
|
||||
}
|
||||
return x509cert.NotAfter;
|
||||
}
|
||||
|
||||
private static DateTime? GetPrivateKeyUsageEndDate(X509Certificate2 x509cert)
|
||||
{
|
||||
foreach (var ext in x509cert.Extensions)
|
||||
{
|
||||
if (ext.Oid.Value == PRIVATE_KEY_USAGE_PERIOD)
|
||||
{
|
||||
// Дата начала с индексом 0, дата окончания с индексом 1
|
||||
return ParseAsn1Datetime(ext, 1);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Разбирает значение типа дата из серии значений ASN1 присоединенных к расширению
|
||||
/// </summary>
|
||||
private static DateTime? ParseAsn1Datetime(X509Extension ext, int valueIndex)
|
||||
{
|
||||
try
|
||||
{
|
||||
var asnObject = (new Asn1InputStream(ext.RawData)).ReadObject();
|
||||
if (asnObject == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var asnSequence = Asn1Sequence.GetInstance(asnObject);
|
||||
if (asnSequence.Count <= valueIndex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var asn = (Asn1TaggedObject)asnSequence[valueIndex];
|
||||
var asnStr = Asn1OctetString.GetInstance(asn, false);
|
||||
var s = Encoding.UTF8.GetString(asnStr.GetOctets());
|
||||
var year = int.Parse(s.Substring(0, 4));
|
||||
var month = int.Parse(s.Substring(4, 2));
|
||||
var day = int.Parse(s.Substring(6, 2));
|
||||
var hour = int.Parse(s.Substring(8, 2));
|
||||
var minute = int.Parse(s.Substring(10, 2));
|
||||
var second = int.Parse(s.Substring(12, 2));
|
||||
return new DateTime(year, month, day, hour, minute, second);
|
||||
}
|
||||
catch (System.Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
97
Hcs.Client/Client/ClientBase.cs
Normal file
97
Hcs.Client/Client/ClientBase.cs
Normal file
@ -0,0 +1,97 @@
|
||||
using Hcs.Client.Internal;
|
||||
using Hcs.Client.Logger;
|
||||
using Hcs.Client.MessageCapturer;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Hcs.Client
|
||||
{
|
||||
public abstract class ClientBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Идентификатор поставщика данных ГИС ЖКХ
|
||||
/// </summary>
|
||||
public string OrgPPAGUID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Исполнитель/сотрудник ГИС ЖКХ, от которого будут регистрироваться ответы
|
||||
/// </summary>
|
||||
public string ExecutorGUID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Признак, указывающий на то, что используется ли внешний туннель (stunnel)
|
||||
/// </summary>
|
||||
public bool UseTunnel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Если true, то запросы будут выполняться на промышленном стенде, иначе - на тестовом
|
||||
/// </summary>
|
||||
public bool IsPPAK { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Роль
|
||||
/// </summary>
|
||||
public OrganizationRole Role { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Устанавливаемый пользователем приемник отладочных сообщений
|
||||
/// </summary>
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Устанавливаемый пользователем механизм перехвата содержимого отправляемых
|
||||
/// и принимаемых пакетов
|
||||
/// </summary>
|
||||
public IMessageCapturer MessageCapturer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Сертификат клиента для применения при формировании запросов
|
||||
/// </summary>
|
||||
internal X509Certificate2 Certificate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Тип криптопровайдера, полученный из сертификата
|
||||
/// </summary>
|
||||
internal GostXades.CryptoProviderTypeEnum CryptoProviderType { get; set; }
|
||||
|
||||
internal GostCryptography.Base.ProviderType GostCryptoProviderType =>
|
||||
(GostCryptography.Base.ProviderType)CryptoProviderType;
|
||||
|
||||
/// <summary>
|
||||
/// Отпечаток сертификата
|
||||
/// </summary>
|
||||
internal string CertificateThumbprint { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Пароль доступа к сертификату
|
||||
/// </summary>
|
||||
internal string CertificatePassword { get; set; }
|
||||
|
||||
internal string ComposeEndpointUri(string endpointName)
|
||||
{
|
||||
if (UseTunnel)
|
||||
{
|
||||
return $"http://{Constants.URI_TUNNEL}/{endpointName}";
|
||||
}
|
||||
|
||||
return IsPPAK
|
||||
? $"https://{Constants.URI_PPAK}/{endpointName}"
|
||||
: $"https://{Constants.URI_SIT_02}/{endpointName}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Пробует вывести сообщение в установленный приемник отладочных сообщений
|
||||
/// </summary>
|
||||
internal void TryLog(string message)
|
||||
{
|
||||
Logger?.WriteLine(message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Пробует отправить тело сообщения в установленный перехватчик
|
||||
/// </summary>
|
||||
internal void TryCaptureMessage(bool sent, string messageBody)
|
||||
{
|
||||
MessageCapturer?.CaptureMessage(sent, messageBody);
|
||||
}
|
||||
}
|
||||
}
|
||||
81
Hcs.Client/Client/Internal/CertificateHelper.cs
Normal file
81
Hcs.Client/Client/Internal/CertificateHelper.cs
Normal file
@ -0,0 +1,81 @@
|
||||
using GostCryptography.Base;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Hcs.Client.Internal
|
||||
{
|
||||
internal static class CertificateHelper
|
||||
{
|
||||
internal static bool IsGostPrivateKey(this X509Certificate2 certificate)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (certificate.HasPrivateKey)
|
||||
{
|
||||
var cspInfo = certificate.GetPrivateKeyInfo();
|
||||
if (cspInfo.ProviderType == (int)ProviderType.CryptoPro ||
|
||||
cspInfo.ProviderType == (int)ProviderType.VipNet ||
|
||||
cspInfo.ProviderType == (int)ProviderType.CryptoPro_2012_512 ||
|
||||
cspInfo.ProviderType == (int)ProviderType.CryptoPro_2012_1024)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
internal static GostXades.CryptoProviderTypeEnum GetProviderType(this X509Certificate2 certificate)
|
||||
{
|
||||
return (GostXades.CryptoProviderTypeEnum)GetProviderInfo(certificate).Item1;
|
||||
}
|
||||
|
||||
internal static Tuple<int, string> GetProviderInfo(this X509Certificate2 certificate)
|
||||
{
|
||||
if (certificate.HasPrivateKey)
|
||||
{
|
||||
var cspInfo = certificate.GetPrivateKeyInfo();
|
||||
return new Tuple<int, string>(cspInfo.ProviderType, cspInfo.ProviderName);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Certificate has no private key");
|
||||
}
|
||||
}
|
||||
|
||||
internal static X509Certificate2 FindCertificate(Func<X509Certificate2, bool> predicate)
|
||||
{
|
||||
if (predicate == null)
|
||||
{
|
||||
throw new ArgumentException("Null subject predicate");
|
||||
}
|
||||
|
||||
var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
|
||||
try
|
||||
{
|
||||
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
|
||||
|
||||
var collection = store.Certificates
|
||||
.OfType<X509Certificate2>()
|
||||
.Where(x => x.HasPrivateKey && x.IsGostPrivateKey());
|
||||
|
||||
var now = DateTime.Now;
|
||||
return collection.First(
|
||||
x => now >= x.NotBefore && now <= x.NotAfter && predicate(x));
|
||||
}
|
||||
finally
|
||||
{
|
||||
store.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25
Hcs.Client/Client/Internal/Constants.cs
Normal file
25
Hcs.Client/Client/Internal/Constants.cs
Normal file
@ -0,0 +1,25 @@
|
||||
namespace Hcs.Client.Internal
|
||||
{
|
||||
internal static class Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// Имя XML-элемента в сообщении, которое будет подписываться в фильтре
|
||||
/// отправки подписывающем XML
|
||||
/// </summary>
|
||||
internal const string SIGNED_XML_ELEMENT_ID = "signed-data-container";
|
||||
|
||||
/// <summary>
|
||||
/// Если PIN сертификата не указан пользователем, применяется это значение
|
||||
/// по умолчанию для сертификатов RuToken
|
||||
/// </summary>
|
||||
internal const string DEFAULT_CERTIFICATE_PIN = "12345678";
|
||||
|
||||
internal const string URI_PPAK = "api.dom.gosuslugi.ru";
|
||||
internal const string URI_SIT_01 = "sit01.dom.test.gosuslugi.ru:10081";
|
||||
internal const string URI_SIT_02 = "sit02.dom.test.gosuslugi.ru:10081";
|
||||
internal const string URI_TUNNEL = "127.0.0.1:8080";
|
||||
|
||||
internal const string NAME_SIT = "sit";
|
||||
internal const string PASSWORD_SIT = "xw{p&&Ee3b9r8?amJv*]";
|
||||
}
|
||||
}
|
||||
63
Hcs.Client/Client/Internal/Util.cs
Normal file
63
Hcs.Client/Client/Internal/Util.cs
Normal file
@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Hcs.Client.Internal
|
||||
{
|
||||
internal static class Util
|
||||
{
|
||||
/// <summary>
|
||||
/// Возвращает список все вложенных исключений для данного исключения
|
||||
/// </summary>
|
||||
internal static List<Exception> EnumerateInnerExceptions(Exception e)
|
||||
{
|
||||
var list = new List<Exception>();
|
||||
WalkInnerExceptionsRecurse(e, list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private static void WalkInnerExceptionsRecurse(Exception e, List<Exception> list)
|
||||
{
|
||||
if (e == null || list.Contains(e))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
list.Add(e);
|
||||
|
||||
WalkInnerExceptionsRecurse(e.InnerException, list);
|
||||
|
||||
if (e is AggregateException)
|
||||
{
|
||||
var aggregate = e as AggregateException;
|
||||
foreach (var inner in aggregate.InnerExceptions)
|
||||
{
|
||||
WalkInnerExceptionsRecurse(inner, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static string FormatDate(DateTime date)
|
||||
{
|
||||
return date.ToString("yyyyMMdd");
|
||||
}
|
||||
|
||||
internal static string FormatDate(DateTime? date)
|
||||
{
|
||||
return (date == null) ? string.Empty : FormatDate((DateTime)date);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Преобразует массиб байтов в строку в формате binhex
|
||||
/// </summary>
|
||||
internal static string ConvertToHexString(byte[] ba)
|
||||
{
|
||||
var buf = new StringBuilder(ba.Length * 2);
|
||||
foreach (byte b in ba)
|
||||
{
|
||||
buf.AppendFormat("{0:x2}", b);
|
||||
}
|
||||
return buf.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
10
Hcs.Client/Client/Logger/ILogger.cs
Normal file
10
Hcs.Client/Client/Logger/ILogger.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace Hcs.Client.Logger
|
||||
{
|
||||
/// <summary>
|
||||
/// Интерфейс для механизма вывода отладочных сообщений для обработки вызывающей системой
|
||||
/// </summary>
|
||||
public interface ILogger
|
||||
{
|
||||
internal void WriteLine(string message);
|
||||
}
|
||||
}
|
||||
11
Hcs.Client/Client/MessageCapturer/IMessageCapturer.cs
Normal file
11
Hcs.Client/Client/MessageCapturer/IMessageCapturer.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace Hcs.Client.MessageCapturer
|
||||
{
|
||||
/// <summary>
|
||||
/// Интерфейс для механизма захвата отправляемых и принимаемых
|
||||
/// SOAP сообщений в ходе коммуникации с ГИС ЖКХ
|
||||
/// </summary>
|
||||
public interface IMessageCapturer
|
||||
{
|
||||
internal void CaptureMessage(bool sentOrReceived, string messageBody);
|
||||
}
|
||||
}
|
||||
20
Hcs.Client/Client/OrganizationRole.cs
Normal file
20
Hcs.Client/Client/OrganizationRole.cs
Normal file
@ -0,0 +1,20 @@
|
||||
namespace Hcs.Client
|
||||
{
|
||||
public enum OrganizationRole
|
||||
{
|
||||
/// <summary>
|
||||
/// УК/ТСЖ/ЖСК
|
||||
/// </summary>
|
||||
UK,
|
||||
|
||||
/// <summary>
|
||||
/// Ресурсоснабжающая организация
|
||||
/// </summary>
|
||||
RSO,
|
||||
|
||||
/// <summary>
|
||||
/// Расчетный центр
|
||||
/// </summary>
|
||||
RC
|
||||
}
|
||||
}
|
||||
47
Hcs.Client/Client/UniClient.cs
Normal file
47
Hcs.Client/Client/UniClient.cs
Normal file
@ -0,0 +1,47 @@
|
||||
using GostCryptography.Gost_R3411;
|
||||
using Hcs.Client.Api;
|
||||
using Hcs.Client.Internal;
|
||||
using System;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Hcs.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Универсальный клиент для вызова всех реализованных функций интеграции с ГИС ЖКХ
|
||||
/// </summary>
|
||||
public class UniClient : ClientBase
|
||||
{
|
||||
public NsiApi Nsi => new(this);
|
||||
|
||||
public void SetSigningCertificate(X509Certificate2 cert, string pin = null)
|
||||
{
|
||||
pin ??= Constants.DEFAULT_CERTIFICATE_PIN;
|
||||
|
||||
Certificate = cert ?? throw new ArgumentNullException("Certificate not specified");
|
||||
CryptoProviderType = cert.GetProviderType();
|
||||
CertificateThumbprint = cert.Thumbprint;
|
||||
CertificatePassword = pin;
|
||||
}
|
||||
|
||||
public X509Certificate2 FindCertificate(Func<X509Certificate2, bool> predicate)
|
||||
{
|
||||
return CertificateHelper.FindCertificate(predicate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Производит для потока хэш по алгоритму "ГОСТ Р 34.11-94" в строке binhex
|
||||
/// </summary>
|
||||
public string ComputeGost94Hash(System.IO.Stream stream)
|
||||
{
|
||||
// API HouseManagement указывает, что файлы приложенные к договору должны размещаться
|
||||
// с AttachmentHASH по стандарту ГОСТ. Оказывается, ГИС ЖКХ требует применения устаревшего
|
||||
// алгоритма ГОСТ Р 34.11-94 (соответствует `rhash --gost94-cryptopro file` в linux).
|
||||
using var algorithm = new Gost_R3411_94_HashAlgorithm(GostCryptoProviderType);
|
||||
var savedPosition = stream.Position;
|
||||
stream.Position = 0;
|
||||
var hashValue = Util.ConvertToHexString(algorithm.ComputeHash(stream));
|
||||
stream.Position = savedPosition;
|
||||
return hashValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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.Nsi.AckRequest, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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.Nsi.ResultHeader, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="exportDataProviderNsiItemResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.exportDataProviderNsiItemResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="exportDataProviderPagingNsiItemResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.exportDataProviderPagingNsiItemResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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.Nsi.getStateResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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.Nsi.getStateResult, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importAdditionalServicesResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importAdditionalServicesResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importBaseDecisionMSPResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importBaseDecisionMSPResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importCapitalRepairWorkResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importCapitalRepairWorkResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importCommunalInfrastructureSystemResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importCommunalInfrastructureSystemResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importGeneralNeedsMunicipalResourceResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importGeneralNeedsMunicipalResourceResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importMunicipalServicesResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importMunicipalServicesResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -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="importOrganizationWorksResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>Hcs.Service.Async.Nsi.importOrganizationWorksResponse, Connected Services.Service.Async.Nsi.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
6162
Hcs.Client/Connected Services/Service.Async.Nsi/Reference.cs
Normal file
6162
Hcs.Client/Connected Services/Service.Async.Nsi/Reference.cs
Normal file
File diff suppressed because it is too large
Load Diff
@ -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="f4a21708-33b4-4f0c-9c03-e28beb32f844" 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\hcs-nsi-service-async.wsdl" Protocol="file" SourceId="1" />
|
||||
</MetadataSources>
|
||||
<Metadata>
|
||||
<MetadataFile FileName="hcs-nsi-base.xsd" MetadataType="Schema" ID="691d44ed-7873-4bc4-b587-a9e3e01929f3" 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-nsi-types.xsd" MetadataType="Schema" ID="59168c81-3173-48a6-aee7-d0649b246359" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/nsi/hcs-nsi-types.xsd" />
|
||||
<MetadataFile FileName="hcs-base.xsd" MetadataType="Schema" ID="ddfc8524-4d67-431e-adaf-3ecf996cfde0" 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="xmldsig-core-schema.xsd" MetadataType="Schema" ID="266ba34a-bf44-464f-8c41-c9428d8f408a" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/lib/xmldsig-core-schema.xsd" />
|
||||
<MetadataFile FileName="hcs-nsi-service-async.wsdl" MetadataType="Wsdl" ID="a4fdf5e2-5239-47a1-abce-2e72b53db702" SourceId="1" SourceUrl="file:///C:/Users/kshkulev/Documents/hcs/Hcs.Client/HcsWsdlSources/wsdl_xsd_v.15.7.0.1/nsi/hcs-nsi-service-async.wsdl" />
|
||||
</Metadata>
|
||||
<Extensions>
|
||||
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||
</Extensions>
|
||||
</ReferenceGroup>
|
||||
@ -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:<?xml version="1.0" encoding="utf-16"?><Data name="NsiBindingAsync3"><security mode="Transport" /></Data>" bindingType="basicHttpBinding" name="NsiBindingAsync3" />
|
||||
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="NsiBindingAsync4" />" bindingType="basicHttpBinding" name="NsiBindingAsync4" />
|
||||
</bindings>
|
||||
<endpoints>
|
||||
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="https://api.dom.gosuslugi.ru/ext-bus-nsi-service/services/NsiAsync" binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync3" contract="Service.Async.Nsi.NsiPortsTypeAsync" name="NsiPortAsync2" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="https://api.dom.gosuslugi.ru/ext-bus-nsi-service/services/NsiAsync" binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync3" contract="Service.Async.Nsi.NsiPortsTypeAsync" name="NsiPortAsync2" />" contractName="Service.Async.Nsi.NsiPortsTypeAsync" name="NsiPortAsync2" />
|
||||
</endpoints>
|
||||
</configurationSnapshot>
|
||||
@ -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="FwtXbdalfBwooGTo247tGuhVgJ8qxJk8dSLVNR8CryE=">
|
||||
<bindingConfigurations>
|
||||
<bindingConfiguration bindingType="basicHttpBinding" name="NsiBindingAsync3">
|
||||
<properties>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>NsiBindingAsync3</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="NsiBindingAsync4">
|
||||
<properties>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>NsiBindingAsync4</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="NsiPortAsync2" contract="Service.Async.Nsi.NsiPortsTypeAsync" bindingType="basicHttpBinding" address="https://api.dom.gosuslugi.ru/ext-bus-nsi-service/services/NsiAsync" bindingConfiguration="NsiBindingAsync3">
|
||||
<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-service/services/NsiAsync</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>NsiBindingAsync3</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.Nsi.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><Header /></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>NsiPortAsync2</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>
|
||||
862
Hcs.Client/Connected Services/Service.Async.Nsi/hcs-base.xsd
Normal file
862
Hcs.Client/Connected Services/Service.Async.Nsi/hcs-base.xsd
Normal 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>
|
||||
427
Hcs.Client/Connected Services/Service.Async.Nsi/hcs-nsi-base.xsd
Normal file
427
Hcs.Client/Connected Services/Service.Async.Nsi/hcs-nsi-base.xsd
Normal 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>
|
||||
@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:nsi="http://dom.gosuslugi.ru/schema/integration/nsi/" xmlns:ns="http://www.w3.org/2000/09/xmldsig#" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:tns="http://dom.gosuslugi.ru/schema/integration/nsi-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-service-async/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="12.2.2.1">
|
||||
<xs:import schemaLocation="../lib/hcs-base.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/base/" />
|
||||
<xs:import schemaLocation="hcs-nsi-types.xsd" namespace="http://dom.gosuslugi.ru/schema/integration/nsi/" />
|
||||
</xs:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="Fault">
|
||||
<wsdl:part name="Fault" element="base:Fault" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importAdditionalServicesRequest">
|
||||
<wsdl:part name="importAdditionalServicesRequest" element="nsi:importAdditionalServicesRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importAdditionalServicesResult">
|
||||
<wsdl:part name="importAdditionalServicesResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importMunicipalServicesRequest">
|
||||
<wsdl:part name="importMunicipalServicesRequest" element="nsi:importMunicipalServicesRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importMunicipalServicesResult">
|
||||
<wsdl:part name="importMunicipalServicesResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importOrganizationWorksRequest">
|
||||
<wsdl:part name="importOrganizationWorksRequest" element="nsi:importOrganizationWorksRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importOrganizationWorksResult">
|
||||
<wsdl:part name="importOrganizationWorksResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importCommunalInfrastructureSystemRequest">
|
||||
<wsdl:part name="importCommunalInfrastructureSystemRequest" element="nsi:importCommunalInfrastructureSystemRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importCommunalInfrastructureSystemResult">
|
||||
<wsdl:part name="importCommunalInfrastructureRequest" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="RequestHeader">
|
||||
<wsdl:part name="Header" element="base:RequestHeader" />
|
||||
</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:getStateResult" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="exportDataProviderNsiItemRequest">
|
||||
<wsdl:part name="exportDataProviderNsiItemRequest" element="nsi:exportDataProviderNsiItemRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="exportDataProviderNsiItemResult">
|
||||
<wsdl:part name="AckRequest" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="exportDataProviderNsiPagingItemRequest">
|
||||
<wsdl:part name="exportDataProviderNsiPagingItemRequest" element="nsi:exportDataProviderNsiPagingItemRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="exportDataProviderNsiPagingItemResult">
|
||||
<wsdl:part name="AckRequest" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importCapitalRepairWorkRequest">
|
||||
<wsdl:part name="importCapitalRepairWorkRequest" element="nsi:importCapitalRepairWorkRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importCapitalRepairWorkResult">
|
||||
<wsdl:part name="importCapitalRepairWorkResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importBaseDecisionMSPRequest">
|
||||
<wsdl:part name="importBaseDecisionMSPRequest" element="nsi:importBaseDecisionMSPRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importBaseDecisionMSPResult">
|
||||
<wsdl:part name="importBaseDecisionMSPResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importGeneralNeedsMunicipalResourceRequest">
|
||||
<wsdl:part name="importGeneralNeedsMunicipalResourceRequest" element="nsi:importGeneralNeedsMunicipalResourceRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="importGeneralNeedsMunicipalResourceResult">
|
||||
<wsdl:part name="importGeneralNeedsMunicipalResourceResult" element="base:AckRequest" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="NsiPortsTypeAsync">
|
||||
<wsdl:operation name="importAdditionalServices">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_1. Импортировать данные справочника 1 "Дополнительные услуги".</wsdl:documentation>
|
||||
<wsdl:input message="tns:importAdditionalServicesRequest" />
|
||||
<wsdl:output message="tns:importAdditionalServicesResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importMunicipalServices">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_51. Импортировать данные справочника 51 "Коммунальные услуги".</wsdl:documentation>
|
||||
<wsdl:input message="tns:importMunicipalServicesRequest" />
|
||||
<wsdl:output message="tns:importMunicipalServicesResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importOrganizationWorks">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_59. Импортировать данные справочника 59 "Работы и услуги организации".</wsdl:documentation>
|
||||
<wsdl:input message="tns:importOrganizationWorksRequest" />
|
||||
<wsdl:output message="tns:importOrganizationWorksResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importCommunalInfrastructureSystem">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_272. Импортировать данные справочника 272 "Система коммунальной инфраструктуры".</wsdl:documentation>
|
||||
<wsdl:input message="tns:importCommunalInfrastructureSystemRequest" />
|
||||
<wsdl:output message="tns:importCommunalInfrastructureSystemResult" />
|
||||
<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:operation name="exportDataProviderNsiItem">
|
||||
<wsdl:documentation>Экспортировать данные справочников поставщика информации </wsdl:documentation>
|
||||
<wsdl:input message="tns:exportDataProviderNsiItemRequest" />
|
||||
<wsdl:output message="tns:exportDataProviderNsiItemResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="exportDataProviderPagingNsiItem">
|
||||
<wsdl:documentation>Экспортировать данные справочников поставщика информации постранично </wsdl:documentation>
|
||||
<wsdl:input message="tns:exportDataProviderNsiPagingItemRequest" />
|
||||
<wsdl:output message="tns:exportDataProviderNsiPagingItemResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importCapitalRepairWork">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_219. Импортировать данные справочника 219 "Вид работ капитального ремонта".</wsdl:documentation>
|
||||
<wsdl:input message="tns:importCapitalRepairWorkRequest" />
|
||||
<wsdl:output message="tns:importCapitalRepairWorkResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importBaseDecisionMSP">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_302. Импортировать данные справочника 302 "Основание принятия решения о мерах социальной поддержки гражданина"</wsdl:documentation>
|
||||
<wsdl:input message="tns:importBaseDecisionMSPRequest" />
|
||||
<wsdl:output message="tns:importBaseDecisionMSPResult" />
|
||||
<wsdl:fault name="InvalidRequest" message="tns:Fault" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="importGeneralNeedsMunicipalResource">
|
||||
<wsdl:documentation>Импортировать данные справочника 337 "Коммунальные ресурсы, потребляемые при использовании и содержании общего имущества в многоквартирном доме"</wsdl:documentation>
|
||||
<wsdl:input message="tns:importGeneralNeedsMunicipalResourceRequest" />
|
||||
<wsdl:output message="tns:importGeneralNeedsMunicipalResourceResult" />
|
||||
<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="importAdditionalServices">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_1. Импортировать данные справочника 1 "Дополнительные услуги".</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importAdditionalServices" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importMunicipalServices">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_51. Импортировать данные справочника 51 "Коммунальные услуги".</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importMunicipalServices" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importOrganizationWorks">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_59. Импортировать данные справочника 59 "Работы и услуги организации".</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importOrganizationWorks" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importCommunalInfrastructureSystem">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_272. Импортировать данные справочника 272 "Система коммунальной инфраструктуры".</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importCommunalInfrastructureSystem" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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:RequestHeader" 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="exportDataProviderNsiItem">
|
||||
<soap:operation soapAction="urn:exportDataProviderNsiItem" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="exportDataProviderPagingNsiItem">
|
||||
<soap:operation soapAction="urn:exportDataProviderPagingNsiItem" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importCapitalRepairWork">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_219. Импортировать данные справочника 219 "Вид работ капитального ремонта".</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importCapitalRepairWork" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importBaseDecisionMSP">
|
||||
<wsdl:documentation>ВИ_НСИ_ИДС_302. Импортировать данные справочника 302 "Основание принятия решения о мерах социальной поддержки гражданина"</wsdl:documentation>
|
||||
<soap:operation soapAction="urn:importBaseDecisionMSP" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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="importGeneralNeedsMunicipalResource">
|
||||
<soap:operation soapAction="urn:importGeneralNeedsMunicipalResource" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
<soap:header message="tns:RequestHeader" 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-service/services/NsiAsync" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
@ -0,0 +1,854 @@
|
||||
<?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/" 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/" version="13.0.0.1" 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="importAdditionalServicesRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 1 "???????????????????????????? ????????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportAdditionalServiceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????? ???????????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:element name="AdditionalServiceTypeName" type="base:String100Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ???????? ???????????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice>
|
||||
<xs:element ref="base:OKEI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ?????????????????? ???? ?????????????????????? ????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="StringDimensionUnit">
|
||||
<xs:annotation>
|
||||
<xs:documentation>(???????????????? ?????????? ???? ????????????????????????????)
|
||||
???????????? ?????????????? ??????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="base:String100Type">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverAdditionalServiceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ???????? ???????????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????? ?????????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteAdditionalServiceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????? ???????????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="importAdditionalServicesRequest_TransportGUIDKey">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="importAdditionalServicesRequest_ElementGuidKey">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:element name="importMunicipalServicesRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 51 "???????????????????????? ????????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportMainMunicipalService">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? 2. ????????????????/?????????????????? ?????????????? ???????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:element name="MunicipalServiceRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "?????? ???????????????????????? ????????????" (???????????????????? ?????????? 3).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" fixed="true" name="GeneralNeeds" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>(???? ????????????????????????) ?????????????? "???????????? ?????????????????????????????? ???? ?????????????????????? ??????????"</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="SelfProduced" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>(???? ????????????????????????) ?????????????? "?????????????????????????????? ???????????????????????? ???????????????????????? ????????????"</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MainMunicipalServiceName" type="base:String100Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ?????????????? ???????????????????????? ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element maxOccurs="1" name="MunicipalResourceRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "?????? ?????????????????????????? ??????????????" (???????????????????? ?????????? 2)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" ref="base:OKEI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>(???? ????????????????????????)
|
||||
???????????????? ?????????????????? ???? ?????????????????????? ????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice>
|
||||
<xs:element name="SortOrder">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="3" />
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element fixed="true" name="SortOrderNotDefined" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ???????????????????? ???? ??????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverMainMunicipalService">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? 2. ???????????????????????????? ?????????????? ???????????????????????? ???????????? (??????????).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????? ?????????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" fixed="true" name="HierarchyRecover" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ???????????????????????????? ???????? ???????????????? ??????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteMainMunicipalService">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? 2. ???????????????? ?????????????? ???????????????????????? ???????????? (??????????).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="11.0.0.4" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="importMunicipalServicesRequest_TransportGUIDKey">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="importMunicipalServicesRequest_ElementGuidKey">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:element name="importGeneralNeedsMunicipalResourceRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 337 "???????????????????????? ??????????????, ???????????????????????? ?????? ?????????????????????????? ?? ???????????????????? ???????????? ?????????????????? ?? ?????????????????????????????? ????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:choice>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="TopLevelMunicipalResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????? ?????????????? 2-???? ???????????? ???????????????? ?????????????? ???? ?????????????????????? ????????????. ?????????????????? ???????????? 1-???? ???????????? ???????????????? ?????????????????????? ???????? ?????????????????????? ?? ???? ?????????????????????? ????????????????/??????????????, ???????????? ?????? ???????????????????????? ???????????????????? ?????????????? ???????????? ???? ?????????????????????? "?????? ?????????????????????????? ??????????????" (???? ???????????????? ParentCode). ?? ???????????? ???? ???????????? ???????????? ?? ?????????????????? TransportGuid ???????????????????????? GUID ????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ParentCode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????? ???????????????????????? ???????????? ???????????????? ????????????. ?????????? ????????:
|
||||
1 - ???????????????? ????????
|
||||
2 - ?????????????? ????????
|
||||
3 - ?????????????????????????? ??????????????
|
||||
8 - ?????????????? ????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:byte">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
<xs:enumeration value="8" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportGeneralMunicipalResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????????????? ?????????????????????????? ?????????????? (??????????)</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:importGeneralNeedsMunicipalResourceType" />
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverGeneralMunicipalResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ???????????????? ?????????????????????????? ?????????????? (??????????).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????? ?????????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteGeneralMunicipalResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????????????? ?????????????????????????? ?????????????? (??????????).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
<xs:attribute fixed="12.2.2.1" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="importGeneralNeedsMunicipalResourceRequest_TransportGUIDKey">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="importGeneralNeedsMunicipalResourceRequest_ElementGuidKey">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:complexType name="importGeneralNeedsMunicipalResourceType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????? ?????????????? ?????????????????????? 337 "???????????????????????? ??????????????, ???????????????????????? ?????? ?????????????????????????? ?? ???????????????????? ???????????? ?????????????????? ?? ?????????????????????????????? ????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ?????????????????????? 2-???? ???????????? ???????????????? ?? ????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="GeneralMunicipalResourceName" type="base:String255Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ???????????????? ?????????????????????????? ??????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MunicipalResourceRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????? ?????????????????????????? ?????????????? (?????? ???2 "?????? ?????????????????????????? ??????????????").</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="base:OKEI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>(???? ????????????????????????)
|
||||
???????????????? ?????????????????? ???? ?????????????????????? ????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice>
|
||||
<xs:element name="SortOrder">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="3" />
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element fixed="true" name="SortOrderNotDefined" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ???????????????????? ???? ??????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="importOrganizationWorksRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 59 "???????????? ?? ???????????? ??????????????????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportOrganizationWork" type="tns:ImportOrganizationWorkType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????????????? ?????????????????????? ?????????? ?? ??????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverOrganizationWork">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ?????????????? (??????????) ?????????????????????? ?????????? ?? ?????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????? ?????????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" fixed="true" name="HierarchyRecover" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ???????????????????????????? ???????? ???????????????? ??????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteOrganizationWork">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????????????? (??????????) ?????????????????????? ?????????? ?? ?????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="10.0.1.2" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="importOrganizationWorksRequest_TransportGUIDKey">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="importOrganizationWorksRequest_ElementGuidKey">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:complexType name="ImportOrganizationWorkType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ?????????????????????? ?????????? ?? ?????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element fixed="true" name="InsertInCopiedWorks" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ?? ???????????? ?????????? 0 - "???????????? (????????????), ?????????????????????????? ???? ?????????????????????? ???????????? ??????????????????????", ?????????????????????? ?????? ????????????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:element name="WorkName" type="base:String500Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ????????????/????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ServiceTypeRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "?????? ??????????" (???????????????????? ?????????? 56).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element maxOccurs="unbounded" name="RequiredServiceRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "???????????????????????? ????????????, ???????????????????????????? ???????????????????? ???????????????????? ??????" (???????????????????? ?????????? 67).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice>
|
||||
<xs:element ref="base:OKEI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ?????????????????? ???? ?????????????????????? ????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="StringDimensionUnit" type="base:String100Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ???? ?????????????????????????? ????????????????????????. ???????????? ???????? ?????????????? ???????????????????????? ?????????????? base:OKEI</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportOrganizationWork" type="tns:ImportOrganizationWorkType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="importCapitalRepairWorkRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 219 "?????? ?????????? ???????????????????????? ??????????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportCapitalRepairWork" type="tns:ImportCapitalRepairWorkType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????????????? ?????????????????????? ???????? ?????????? ???????????????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverCapitalRepairWork">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ???????????????? ?????????????????????? ???????? ?????????? ???????????????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteCapitalRepairWork">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????????????? ?????????????????????? ???????? ?????????? ???????????????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="11.1.0.5" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="ElementGuid_CR_Unique">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="TransportGUID_Unique">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:complexType name="ImportCapitalRepairWorkType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ?????????????????????? ???????? ?????????? ???????????????????????? ??????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:element name="ServiceName" type="base:String500Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ???????? ??????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="WorkGroupRef" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "???????????? ??????????" (???????????????????? ?????????? 218).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="importCommunalInfrastructureSystemRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 272 "?????????????? ???????????????????????? ????????????????????????????"</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportCommunalInfrastructureSystem" type="tns:importCommunalInfrastructureSystemType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????????????? ?????????????????????? ???????????????????????? ????????????????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverCommunalInfrastructureSystem">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ???????????????? ?????????????????????? ???????????????????????? ????????????????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteCommunalInfrastructureSystem">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????????????? ?????????????????????? ???????????????????????? ????????????????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="11.5.0.2" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="TransportGuid_CIS_Unique">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="ElementGuid_CIS_Unique">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:complexType name="importCommunalInfrastructureSystemType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ?????????????????????? "?????????????? ???????????????????????? ????????????????????????????"</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:element name="SystemName" type="base:String500Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CommunalSystemInfrastructureType" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? 42
|
||||
?????? ?????????????? ???????????????????????? ????????????????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="importBaseDecisionMSPRequest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ???????????? ???????????? ?????????????????????? 302 "?????????????????? ???????????????? ?????????????? ?? ?????????? ???????????????????? ?????????????????? ????????????????????".</xs:documentation>
|
||||
<xs:documentation>?????????? ???????????????? ?????????????? ?? ?????????? ???????????????????? ?????????????????? ????????????????????".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="base:BaseType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="ImportBaseDecisionMSP" type="tns:importBaseDecisionMSPType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>????????????????/?????????????????? ???????????????? ?????????????????????? ?????????????????? ???????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="RecoverBaseDecisionMSP">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????????? ???????????????? ?????????????????????? ?????????????????? ???????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1000" name="DeleteBaseDecisionMSP">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????? ???????????????? ?????????????????????? ?????????????????? ???????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute fixed="11.1.0.5" ref="base:version" use="required" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:key name="TransportGuid_Unique">
|
||||
<xs:selector xpath=".//base:TransportGUID" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
<xs:key name="ElementGuid_BDMS_Unique">
|
||||
<xs:selector xpath=".//tns:ElementGuid" />
|
||||
<xs:field xpath="." />
|
||||
</xs:key>
|
||||
</xs:element>
|
||||
<xs:complexType name="importBaseDecisionMSPType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????? ?????????????????????? ?????????????????? ???????????????? ??????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="base:TransportGUID" />
|
||||
<xs:element minOccurs="0" name="ElementGuid" type="base:GUIDType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????????? ?????????????????????????? ???????????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:element name="DecisionName" type="base:String500Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????????? ?????????????????? ???????????????? ??????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DecisionType" type="nsi-base:nsiRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????? ???? ?????? "?????? ?????????????? ?? ?????????? ???????????????????? ?????????????????? ????????????????????" (???????????????????? ?????????? 301)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IsAppliedToSubsidiaries" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????? ?????? ????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IsAppliedToRefundOfCharges" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>?????????????????????? ?????? ?????????????????????? ????????????????</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="exportDataProviderNsiItemRequest">
|
||||
<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">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????? ?????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="nsi-base:NsiItemRegistryNumberType">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="51" />
|
||||
<xs:enumeration value="59" />
|
||||
<xs:enumeration value="219" />
|
||||
<xs:enumeration value="272" />
|
||||
<xs:enumeration value="302" />
|
||||
<xs:enumeration value="337" />
|
||||
</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="exportDataProviderNsiPagingItemRequest">
|
||||
<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">
|
||||
<xs:annotation>
|
||||
<xs:documentation>???????????????????? ?????????? ??????????????????????.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="nsi-base:NsiItemRegistryNumberType">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="51" />
|
||||
<xs:enumeration value="59" />
|
||||
<xs:enumeration value="219" />
|
||||
<xs:enumeration value="302" />
|
||||
<xs:enumeration value="337" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<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="11.1.0.5" 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 maxOccurs="unbounded" name="ImportResult" type="base:CommonResultType" />
|
||||
<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>
|
||||
@ -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>
|
||||
@ -64,6 +64,30 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Client\Api\ApiBase.cs" />
|
||||
<Compile Include="Client\Api\NsiApi.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IGetStateResult.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IGetStateResultMany.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IGetStateResultOne.cs" />
|
||||
<Compile Include="Client\Api\Request\Exception\NoResultsRemoteException.cs" />
|
||||
<Compile Include="Client\Api\Request\GostSigningEndpointBehavior.cs" />
|
||||
<Compile Include="Client\Api\Request\GostSigningMessageInspector.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IAck.cs" />
|
||||
<Compile Include="Client\Api\Request\Exception\RemoteException.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IAsyncClient.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IErrorMessage.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IGetStateRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\Adapter\IGetStateResponse.cs" />
|
||||
<Compile Include="Client\Api\Request\Nsi\NsiRequestBase.cs" />
|
||||
<Compile Include="Client\Api\Request\RequestBase.cs" />
|
||||
<Compile Include="Client\Api\Request\Nsi\ExportDataProviderNsiItemRequest.cs" />
|
||||
<Compile Include="Client\Api\Request\AsyncRequestStateType.cs" />
|
||||
<Compile Include="Client\Api\Request\Exception\RestartTimeoutException.cs" />
|
||||
<Compile Include="Client\Api\Request\RequestHelper.cs" />
|
||||
<Compile Include="Client\Api\Request\X509Tools.cs" />
|
||||
<Compile Include="Client\Internal\CertificateHelper.cs" />
|
||||
<Compile Include="Client\UniClient.cs" />
|
||||
<Compile Include="Client\ClientBase.cs" />
|
||||
<Compile Include="ClientApi\DataTypes\ГисАдресныйОбъект.cs" />
|
||||
<Compile Include="ClientApi\DataTypes\ГисДоговор.cs" />
|
||||
<Compile Include="ClientApi\DataTypes\ГисДоговорыИПриборы.cs" />
|
||||
@ -144,6 +168,13 @@
|
||||
<Compile Include="ClientApi\RemoteCaller\IHcsHeaderType.cs" />
|
||||
<Compile Include="ClientApi\RemoteCaller\GostSigningMessageInspector.cs" />
|
||||
<Compile Include="ClientApi\HcsX509Tools.cs" />
|
||||
<Compile Include="Client\Internal\Constants.cs" />
|
||||
<Compile Include="Client\Api\Request\EndPointLocator.cs" />
|
||||
<Compile Include="Client\Api\Request\EndPoint.cs" />
|
||||
<Compile Include="Client\OrganizationRole.cs" />
|
||||
<Compile Include="Client\Internal\Util.cs" />
|
||||
<Compile Include="Client\Logger\ILogger.cs" />
|
||||
<Compile Include="Client\MessageCapturer\IMessageCapturer.cs" />
|
||||
<Compile Include="Connected Services\Service.Async.DebtRequests.v15_7_0_1\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
@ -169,6 +200,11 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Connected Services\Service.Async.Nsi\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>
|
||||
@ -826,6 +862,58 @@
|
||||
<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.Nsi\hcs-base.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\hcs-nsi-base.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\hcs-nsi-service-async.wsdl" />
|
||||
<None Include="Connected Services\Service.Async.Nsi\hcs-nsi-types.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.AckRequest.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.exportDataProviderNsiItemResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.exportDataProviderPagingNsiItemResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.getStateResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.getStateResult.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importAdditionalServicesResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importBaseDecisionMSPResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importCapitalRepairWorkResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importCommunalInfrastructureSystemResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importGeneralNeedsMunicipalResourceResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importMunicipalServicesResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.importOrganizationWorksResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\Hcs.Service.Async.Nsi.ResultHeader.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\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>
|
||||
@ -1026,6 +1114,7 @@
|
||||
<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.Nsi\" />
|
||||
<WCFMetadataStorage Include="Connected Services\Service.Async.OrgRegistryCommon.v15_7_0_1\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -1065,6 +1154,12 @@
|
||||
<Generator>WCF Proxy Generator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Connected Services\Service.Async.Nsi\configuration91.svcinfo" />
|
||||
<None Include="Connected Services\Service.Async.Nsi\configuration.svcinfo" />
|
||||
<None Include="Connected Services\Service.Async.Nsi\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>
|
||||
|
||||
@ -22,6 +22,10 @@
|
||||
<security mode="Transport" />
|
||||
</binding>
|
||||
<binding name="NsiBindingAsync2" />
|
||||
<binding name="NsiBindingAsync3">
|
||||
<security mode="Transport" />
|
||||
</binding>
|
||||
<binding name="NsiBindingAsync4" />
|
||||
</basicHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
@ -48,6 +52,9 @@
|
||||
binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync1"
|
||||
contract="Service.Async.NsiCommon.v15_7_0_1.NsiPortsTypeAsync"
|
||||
name="NsiPortAsync1" />
|
||||
<endpoint address="https://api.dom.gosuslugi.ru/ext-bus-nsi-service/services/NsiAsync"
|
||||
binding="basicHttpBinding" bindingConfiguration="NsiBindingAsync3"
|
||||
contract="Service.Async.Nsi.NsiPortsTypeAsync" name="NsiPortAsync2" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user