Если услуга реализована для сервиса, разработанного по МР 2.4.3 и выше, то для отправки заявления на сервис ведомства, необходимо использовать специальный ftl-шаблон для формирования блока <soap:Body>.. </soap:Body> в запросе.
Пример ftl-шаблона для запроса на отправку заявления с ЕПГУ:
-- Author: Ivan Ivanov
-- Change: PGUFORM-443
declare
cont CLOB;
IS_EXISTS varchar (4);
begin
cont:='<#setting number_format="computer"/>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:fgapc="https://www.red-soft.biz/ncore/dx/ws/smev-243"
xmlns:smev="https://smev.gosuslugi.ru/rev111111">
<soap:Body>
<fgapc:PutDocument>
<smev:Message>
<smev:Sender>
<smev:Code>${pguCode}</smev:Code>
<smev:Name>${pguName}</smev:Name>
</smev:Sender>
<smev:Recipient>
<smev:Code>${orgCode}</smev:Code>
<smev:Name>${orgName}</smev:Name>
</smev:Recipient>
<smev:Originator>
<smev:Code>${pguCode}</smev:Code>
<smev:Name>${pguName}</smev:Name>
</smev:Originator>
<smev:TypeCode>GSRV</smev:TypeCode>
<smev:Status>REQUEST</smev:Status>
<smev:Date>${sysdate?string("yyyy-MM-dd''T''hh:mm:ss")}</smev:Date>
<smev:ExchangeType>1</smev:ExchangeType>
<smev:ServiceCode>${reestrId}</smev:ServiceCode>
<smev:CaseNumber>${orderId}</smev:CaseNumber>
</smev:Message>
|
|
<smev:MessageData>
<smev:AppData>
<#if appdata?has_content>${appdata}</#if>
</smev:AppData>
<smev:AppDocument>
<#if binaryData?has_content>
<smev:RequestCode>req_${requestCode}</smev:RequestCode>
<smev:BinaryData>${binaryData}</smev:BinaryData>
</#if>
</smev:AppDocument>
</smev:MessageData>
</fgapc:PutDocument>
</soap:Body>
</soap:Envelope>';
select count(*) into IS_EXISTS from LK.sc_soap_msg_template where sc_smt_code='minenergo-request-ftl';
if IS_EXISTS = 0 then
insert into LK.sc_soap_msg_template (sc_smt_code, sc_smt_text) values ('minenergo-request-ftl ',cont);
else
update LK.sc_soap_msg_template set sc_smt_text = cont where sc_smt_code = 'minenergo-request-ftl ';
end if;
commit;
end;
/
ftl-шаблон разрабатывается для конкретного веб-сервиса. Можно использовать один и тот же ftl-шаблон для нескольких форм, если они настроены на один и тот же веб-сервис.
ftl-шаблоны запроса на отправку заявления хранятся в БД sc_soap_msg_template, схема LK. Код ftl-шаблона для каждой электронной услуги устанавливается в базе LK.sc_service_config (подробнее в пункте 6 Настройка OrderProcessing для услуги).