Быстрый старт
Работа со SMEV-DATA-PROVIDER выполняется с помощью REST API посредством подписки на интересующую тему, а также с помощью вызова методов по получению запросов и отправки ответов в СМЭВ.
-
Проверьте наличие подключенного maven репозитория в
.m2/settings.xml
.settings.xml type=xml<servers> <server> <id>cpr_maven</id> <username>ИМЯ УЧЕТНОЙ ЗАПИСИ В SBER CLOUD</username> <password>ПАРОЛЬ УЧЕТНОЙ ЗАПИСИ В SBER CLOUD</password> </server> </servers> <profiles> <profile> <id>default</id> <repositories> <repository> <id>cpr_maven</id> <url>https://Путь_до_зависимостей_в_нексусе</url> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <profile> <profiles>
-
Добавьте зависимости с контрактами в
pom.xml
.pom.xml type=xml<dependency> <groupId>ru.sberbank.gostech.smev</groupId> <artifactId>smev-data-provider-api</artifactId> <version>АКТУАЛЬНАЯ ВЕРСИЯ</version> </dependency>
-
Реализуйте взаимодействия.3.1 Реализация сервиса для управления подписками:SmevDataProviderService.java type=java
@Service public class SmevDataProviderService { private final RestTemplate restTemplate = new RestTemplate(); private final String clientId; private final String smevBroadcastUrl; private final String smevAllBroadcastsUrl; public SmevDataProviderService( @Value("${app.smev-data-provider.url}") String smevDataProviderUrl, @Value("${app.smev-data-provider.clientId}") String clientId ) { this.clientId = clientId; this.smevBroadcastUrl = smevDataProviderUrl + "/broadcast"; this.smevAllBroadcastsUrl = smevDataProviderUrl + "/broadcast/all"; } public List<SmevDataProvider> getBroadcastSubscriptionsList() { String url = UriComponentsBuilder .fromUriString(smevBroadcastUrl) .queryParam("clientId", clientId) .toUriString(); SmevDataProvider[] smevDataProviderArray = restTemplate .getForEntity(url, SmevDataProvider[].class) .getBody(); return Arrays.asList(smevDataProviderArray); } public SmevDataProvider subscribeOnBroadcast(BroadcastList broadcastList) { BroadcastSubscribeDto broadcastSubscribeDto = BroadcastSubscribeDto.builder() .alias(clientId) .broadcast(broadcastList) .build(); return restTemplate .postForEntity(smevBroadcastUrl, broadcastSubscribeDto, SmevDataProvider.class) .getBody(); } public void unsubscribeFromBroadcast(String id) { String url = UriComponentsBuilder .fromUriString(smevBroadcastUrl) .pathSegment(id) .toUriString(); restTemplate.delete(url); } public void unsubscribeFromAllBroadcasts() { String url = UriComponentsBuilder .fromUriString(smevAllBroadcastsUrl) .queryParam("clientId", clientId) .toUriString(); restTemplate.delete(url); } }
3.2 Реализация API для управления подписками и получения истории рассылки:SmevBroadcastController.java type=java@RestController @RequestMapping("/broadcast") public class SmevBroadcastController { private final SmevMockService smevMockService; private final SmevDataProvideProxyService smevDataProvideProxyService; private final SmevDataProviderService smevDataProviderService; @Autowired public SmevBroadcastController( SmevMockService smevMockService, SmevDataProvideProxyService smevDataProvideProxyService, SmevDataProviderService smevDataProviderService ) { this.smevMockService = smevMockService; this.smevDataProvideProxyService = smevDataProvideProxyService; this.smevDataProviderService = smevDataProviderService; } @ApiOperation( value = "Получение истории рассылки", notes = "Получение истории рассылки, при пустом параметре messageId возвращается полная история рассылки," + "сохраненная в памяти приложения") @RequestMapping(value = "/history", method = RequestMethod.GET) public List<SmevBroadcastResponseDto> getBroadcastDataHistoryList( @ApiParam("Идентификатор сообщения") @RequestParam(required = false) String messageId) { return smevDataProvideProxyService.getBroadcastDataList(messageId); } @ApiOperation( value = "Имитация рассылки", notes = "Имитация рассылки BIRTHDAY_INFORMATION, используя local-smev сервис") @RequestMapping(value = "/mock", method = RequestMethod.POST) public String sendBroadcastData() { return smevMockService.sendBroadcastData(); } @ApiOperation( value = "Получение списка всех широковещательных рассылок для клиента", notes = "Запрос на получение списка широковещательных рассылок. Возвращает заполненный BroadcastList") @RequestMapping(value = "/subscriptions", method = RequestMethod.GET) public List<SmevDataProvider> getBroadcastSubscriptionsList() { return smevDataProviderService.getBroadcastSubscriptionsList(); } @ApiOperation( value = "Подписка на широковещательную рассылку", notes = "Запрос на подписку к широковещательной рассылке") @RequestMapping(value = "/subscriptions", method = RequestMethod.POST) public SmevDataProvider subscribeOnBroadcast( @ApiParam("Тип рассылки") @RequestBody BroadcastList broadcastList) { return smevDataProviderService.subscribeOnBroadcast(broadcastList); } @ApiOperation( value = "Отписка от широковещательной рассылки", notes = "Запрос на отписку от широковещательной рассылки") @RequestMapping(value = "/subscriptions/{id}", method = RequestMethod.DELETE) public void unsubscribeFromBroadcast(@PathVariable String id) { smevDataProviderService.unsubscribeFromBroadcast(id); } @ApiOperation( value = "Отписка от всех широковещательных рассылок", notes = "Запрос на отписку от всех широковещательных рассылок") @RequestMapping(value = "/subscriptions", method = RequestMethod.DELETE) public void unsubscribeFromAllBroadcasts() { smevDataProviderService.unsubscribeFromAllBroadcasts(); } @ApiOperation( value = "Произвольный GET запрос", notes = "Вызов произвольного GET запроса к smev-data-provider-proxy") @RequestMapping(value = "/**", method = RequestMethod.GET) public List<SmevBroadcastResponseDto> getResponse( HttpServletRequest request, @ApiParam("Дата в формате 1970-01-01, начиная с которой необходимо предоставить информацию") @RequestParam String from, @ApiParam("Дата в формате 1970-01-01, по которую необходимо предоставить информацию (необязательный " + "параметр, при отсутствии за конечную дату берется текущая)") @RequestParam String to ) { return smevDataProvideProxyService.getResponseList( request.getRequestURI().replace(request.getContextPath(), ""), from, to, SmevBroadcastResponseDto[].class ); } }
Перед началом тестирования адаптера необходимо развернуть:
- заглушку СМЭВ;
- сервисы поставщика данных (
smev-data-provider
); - сервис потребителя данных (
smev-proxy-impl
,smev-worker
); - крипто-сервис (
ufs-sign-application
илиcrypto-proxy
).
Сервисы поставщика и потребителя данных должны быть настроены на развёрнутые заглушку СМЭВ и крипто-сервис.
Тестирование поставщика данных СМЭВ происходит по описанному ниже сценарию.
Исходные данные:
Название | Значение | Комментарии |
---|---|---|
Сервис | Информация о направлении оператором связи сведений о базе расчета обязательных отчислений (неналоговых платежей) в резерв универсального обслуживания в установленные законодательством сроки | - |
Пространство имён | urn://x-artefacts-rossvyaz/report-apuu/1.0.0 | - |
Корневой элемент | IQueryRsvzRepApuu | - |
Идентификатор клиента - алиас сертификата | clientId | Используется валидный алиас сертификата. Для примера ниже используется условный алиас |
Тестовый запрос | message.xml | Перед отправкой тестового сообщения необходимо сгенерировать новый UUID и заполнить им следующие поля в файле: "MessageID" , "ReferenceMessageID" , "ReplyTo" |
message.xml type=xml<ns2:GetRequestResponse xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.2" xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/faults/1.2"> <ns2:RequestMessage> <ns2:Request Id="SIGNED_BY_SMEV"> <ns2:SenderProvidedRequestData Id="SIGNED_BY_CONSUMER"> <ns2:MessageID>7e14cef6-379c-11ea-9777-aaaaaa2ca904</ns2:MessageID> <ns2:ReferenceMessageID>7e14cef6-379c-11ea-9777-aaaaaa2ca904</ns2:ReferenceMessageID> <ns2:TransactionCode>7e17b4af-379c-11ea-aefa-001a4a1660a5|10000000000000000000|ByXTyP7c6gpiMt7zHtOYYnhHzB8QlNMe0J74yZYAIPA3Qnt3HwqsRl7WjzQUOtrsYXBqFvr69as8M4oX2V+CXneynwA5qvgF3nXrQW8dbmpQZzIkRpOcuKXJpIOjcSvLQxQ7EcLpQ7RnIcG+aQfG6rA7ns1v9YTVi2wGyVYtOgIYy3reaRgRHyRr05RdXsRHGNj+xCPNSJG80NCA1UJDRNrnM9Qj0/WcWQW4AqTQDiBkBdpvmT58jNmVK8hbaGBYnfv5e0SS1bR3guonpQvf04VEQccu0YvezVJsBSvQZ1oxXTmbcLzzCi5Kjt0xSwq/EEFBGyrokFoCcwnEQeBRZQ==</ns2:TransactionCode> <MessagePrimaryContent> <xz1:IQueryRsvzRepApuu xmlns:xz1="urn://x-artefacts-rossvyaz/report-apuu/1.0.0"> <xz1:Inn>2459011995</xz1:Inn> <xz1:DateOn>2016-03-30</xz1:DateOn> <xz1:Quarter>3</xz1:Quarter> <xz1:ReportYear>2014</xz1:ReportYear> <xz1:ReportPeriod>3 кв. 2014</xz1:ReportPeriod> <xz1:OperatorName>Общество с ограниченной ответственностью "Сиблайн"</xz1:OperatorName> <xz1:OperatorType>false</xz1:OperatorType> </xz1:IQueryRsvzRepApuu> </MessagePrimaryContent> </ns2:SenderProvidedRequestData> <ns2:MessageMetadata> <ns2:MessageId>7e14cef6-379c-11ea-9777-aaaaaa2ca904</ns2:MessageId> <ns2:MessageType>REQUEST</ns2:MessageType> <ns2:Sender> <ns2:Mnemonic>testroiv08</ns2:Mnemonic> </ns2:Sender> <ns2:SendingTimestamp>2020-01-15T16:39:46.000+03:00</ns2:SendingTimestamp> <ns2:Recipient> <ns2:Mnemonic>testfoiv08</ns2:Mnemonic> </ns2:Recipient> <ns2:DeliveryTimestamp>2020-01-15T16:39:55.632+03:00</ns2:DeliveryTimestamp> <ns2:Status>messageIsDelivered</ns2:Status> </ns2:MessageMetadata> <ns2:ReplyTo>7e14cef6-379c-11ea-9777-aaaaaa2ca904</ns2:ReplyTo> <ns2:SenderInformationSystemSignature> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:basic="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2" xmlns:ns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.2"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/> <ds:Reference URI="#SIGNED_BY_CONSUMER"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/> </ds:Transforms> <ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/> <ds:DigestValue>LbdyY28+hnthaVWZCdyRsV9ljZSRf5lKL0uqrdAnXfs=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> 36JG8E3qG4xOZCIiuAuQMnTWtewF8aL858TK/2kncWzYWubSGZoucFjvVpCdBZW1F3WTxo5XgkdTcvn5T+29hg== </ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate> 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 </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> </ns2:SenderInformationSystemSignature> </ns2:Request> <ns2:SMEVSignature> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/> <ds:Reference URI="#SIGNED_BY_SMEV"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/> </ds:Transforms> <ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/> <ds:DigestValue>voS4KOoGYA9dwAG7b6hrFgJUX2O3KZ3CJXnIwH04gcI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> /FpMI3fvHwwwT9KDpLoQ6+nTu1KL34FQbPxrtQD9obzxwnwdDlozJAIQExmhEngELTpSLhVzpmclIbD9sddwAw== </ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate> 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 </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> </ns2:SMEVSignature> </ns2:RequestMessage> </ns2:GetRequestResponse>
Сценарий:
Название | cURL | Тело запроса |
---|---|---|
Регистрация поставщика услуг в data-provider | -X POST "http://{адрес поставщика}/registration" -H "accept: */*" -H "Content-Type: application/json" -d | См. ниже |
Чтение из data-provider запроса по зарегистрированному поставщику | -X GET "http://{адрес поставщика}/request?clientId=clientId&namespace=urn%3A%2F%2Fx-artefacts-rossvyaz%2Freport-apuu%2F1.0.0&rootElement=IQueryRsvzRepApuu" -H "accept: */*" | - |
Тело запроса:
Развернуть type=xml{ "clientId": "clientId", "namespace": "urn://x-artefacts-rossvyaz/report-apuu/1.0.0", "rootElement": "IQueryRsvzRepApuu", "routing": "FIXED", "schemaVersion": "V1_2" }
В демопримерах реализованы стандартные сценарии, демонстрирующие работу отдельных сервисов Платформы ГосТех. Отправка тестовых запросов в демопримерах позволит вам ознакомиться с функциями того или иного сервиса. Доступные демопримеры и описания реализованной в них функциональности представлены ниже.
СМЭВ
Отправка тестовых запросов в СМЭВ с присвоением успешно отправленным запросам уникальных идентификаторов