Добрый день, уважаемые коллеги!
В рамках проведения работ по СМЭВ у нас возникла необходимость протестировать работу сервиса ФГИС ДО
http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003992/wsdl в тестовой зоне!
Проблема заключается в том, что мы не являемся программистами или разработчиками и ни имеем никаких знаний в написании кода через java скрипт или др.. Но готовы протестировать саму работу сервиса через SOAP UI.
Наш заказчик предоставил нам ваш продукт jscp1.0.54 дал тестовые ключи для тестирования. Ну и соответственно возникли далее вопросы. К сожалению своими силами не получилось отработать запрос скрипты.
Опишу наши действия:
1. Мы подключились к сервису через SOAP UI (сразу оговорюсь что мы работаем в среде MS Windows и софт у нас весь под win)
2. Получили требуемую структуру сервиса для операции Find
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rev="http://smev.gosuslugi.ru/rev120315" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ser="http://naumen.ru/soap/server">
<soapenv:Header>
<rev:Header oas:Id="?" actor="?">
<!--type: string-->
<rev:NodeId>?</rev:NodeId>
<!--type: string-->
<rev:MessageId>?</rev:MessageId>
<!--type: dateTime-->
<rev:TimeStamp>?</rev:TimeStamp>
<!--type: MessageClassType - enumeration: [REQUEST,RESPONSE]-->
<rev:MessageClass>?</rev:MessageClass>
</rev:Header>
</soapenv:Header>
<soapenv:Body>
<ser:FindRequest>
<rev:Message>
<rev:Sender>
<!--type: string-->
<rev:Code>?</rev:Code>
<!--type: string-->
<rev:Name>?</rev:Name>
</rev:Sender>
<rev:Recipient>
<!--type: string-->
<rev:Code>?</rev:Code>
<!--type: string-->
<rev:Name>?</rev:Name>
</rev:Recipient>
<!--Optional:-->
<rev:Originator>
<!--type: string-->
<rev:Code>?</rev:Code>
<!--type: string-->
<rev:Name>?</rev:Name>
</rev:Originator>
<!--type: TypeCodeType - enumeration: [GSRV,GFNC,OTHR]-->
<rev:TypeCode>?</rev:TypeCode>
<!--type: StatusType - enumeration: [REQUEST,RESULT,REJECT,INVALID,ACCEPT,PING,PROCESS,NOTIFY,FAILURE,CANCEL,STATE]-->
<rev:Status>?</rev:Status>
<!--type: dateTime-->
<rev:Date>?</rev:Date>
<!--type: string-->
<rev:ExchangeType>?</rev:ExchangeType>
<!--Optional:-->
<!--type: string-->
<rev:RequestIdRef>?</rev:RequestIdRef>
<!--Optional:-->
<!--type: string-->
<rev:OriginRequestIdRef>?</rev:OriginRequestIdRef>
<!--Optional:-->
<!--type: string-->
<rev:ServiceCode>?</rev:ServiceCode>
<!--Optional:-->
<!--type: string-->
<rev:CaseNumber>?</rev:CaseNumber>
<!--Optional:-->
<!--type: string-->
<rev:TestMsg>?</rev:TestMsg>
</rev:Message>
<rev:MessageData>
<!--Optional:-->
<rev:AppData>
<!--Optional:-->
<ser:findRequest>
<!--type: string-->
<ser:accessKey>?</ser:accessKey>
<!--Optional:-->
<ser:attributes>
<!--Zero or more repetitions:-->
<ser:entry>
<!--type: string-->
<ser:key>?</ser:key>
<!--Optional:-->
<ser:value>
<!--You have a CHOICE of the next 5 items at this level-->
<!--type: string-->
<ser:string>?</ser:string>
<ser:aggregate>
<!--Optional:-->
<!--type: string-->
<ser:ou>?</ser:ou>
<!--Optional:-->
<!--type: string-->
<ser:team>?</ser:team>
<!--Optional:-->
<!--type: string-->
<ser:employee>?</ser:employee>
</ser:aggregate>
<ser:dateTimeInterval length="?" interval="?"/>
<ser:hyperlink text="?" url="?"/>
<ser:objects>
<!--Zero or more repetitions:-->
<!--type: string-->
<ser:objectsStr>?</ser:objectsStr>
</ser:objects>
</ser:value>
</ser:entry>
</ser:attributes>
<!--type: string-->
<ser:fqn>?</ser:fqn>
</ser:findRequest>
</rev:AppData>
</rev:MessageData>
</ser:FindRequest>
</soapenv:Body>
</soapenv:Envelope>
3. Используя методическое описание, руководство пользователя, руководство по данному сервису полученные с портала smev. Решили сформировать сразу запрос и отправить в СМЭВ.
Пример нашего запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rev="http://smev.gosuslugi.ru/rev120315" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ser="http://naumen.ru/soap/server">
<soapenv:Header>
<rev:Header oas:Id="smev-header" actor="http://smev.gosuslugi.ru/actors/recipient">
<rev:NodeId>00</rev:NodeId>
<rev:MessageId>3F0FF45C-F99E-00CD-F374-9D8807EB5BD4</rev:MessageId>
<rev:TimeStamp>2015-11-213T13:18:21.805+03:00</rev:TimeStamp>
<rev:MessageClass>REQUEST</rev:MessageClass>
</rev:Header>
</soapenv:Header>
<soapenv:Body>
<ser:FindRequest>
<rev:Message>
<rev:Sender>
<rev:Code>FMS001001</rev:Code>
<rev:Name>ФМС России</rev:Name>
</rev:Sender>
<rev:Recipient>
<rev:Code>MNSV21001</rev:Code>
<rev:Name>Минкомсвязь России</rev:Name>
</rev:Recipient>
<!--Optional:-->
<rev:Originator>
<rev:Code></rev:Code>
<rev:Name></rev:Name>
</rev:Originator>
<rev:TypeCode>OTHR</rev:TypeCode>
<rev:Status>REQUEST</rev:Status>
<rev:Date>2015-11-213T13:18:21.805+03:00</rev:Date>
<rev:ExchangeType>0</rev:ExchangeType>
<!--Optional:-->
<rev:RequestIdRef></rev:RequestIdRef>
<!--Optional:-->
<rev:OriginRequestIdRef></rev:OriginRequestIdRef>
<!--Optional:-->
<rev:ServiceCode></rev:ServiceCode>
<!--Optional:-->
<rev:CaseNumber></rev:CaseNumber>
<!--Optional:-->
<rev:TestMsg>Тестовый запрос</rev:TestMsg>
</rev:Message>
<rev:MessageData>
<!--Optional:-->
<rev:AppData>
<!--Optional:-->
<ser:findRequest>
<ser:accessKey>d3b085b7-d373-4eb3-a09b-751fecb51067</ser:accessKey>
<!--Optional:-->
<ser:attributes>
<!--Zero or more repetitions:-->
<ser:entry>
<ser:key></ser:key>
<!--Optional:-->
<ser:value>
<!--You have a CHOICE of the next 5 items at this level-->
<ser:string></ser:string>
<ser:aggregate>
<!--Optional:-->
<ser:ou></ser:ou>
<!--Optional:-->
<ser:team></ser:team>
<!--Optional:-->
<ser:employee></ser:employee>
</ser:aggregate>
<ser:dateTimeInterval length="" interval=""/>
<ser:hyperlink text="" url=""/>
<ser:objects>
<!--Zero or more repetitions:-->
<ser:objectsStr></ser:objectsStr>
</ser:objects>
</ser:value>
</ser:entry>
</ser:attributes>
<ser:fqn>appeal$appealType1</ser:fqn>
</ser:findRequest>
</rev:AppData>
</rev:MessageData>
</ser:FindRequest>
</soapenv:Body>
</soapenv:Envelope>
4. Соответственно получили на выходе код ощибки:
<faultstring>SMEV-100008: При обработке запроса произошла ошибка: Не найдена подпись документа</faultstring>
Вопросы:
Насколько я понимаю, прежде чем кидать запрос в СМЭВ требуется его предварительно обработать в КриптоПро. Но не понятно как и чем это можно сделать. Достаточно просто установленного продукта jscp1.0.54 ? Запрос мы формируем в SOAP UI это точно не java script и как его в таком случаи передать на Крипто-Про ? Может быть есть более функциональные способы отправки запроса, через командную строку cmd в windows ? Далее правильно ли я понимаю, что после того как мы запрос отправим в крипто про, получим ответ. И этот ответ можно через SOAP UI передать далее в СМЭВ - тем самым будет отработана интеграция.
С уважением,
Павел