См. https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=59500#post59500

В ходе проверок было получено несколько разных ответов:
0 - успешно
5 - Импортируемые данные уже присутствуют в системе;
8 - Нет прав на импорт/ уточнение/аннулирование сущности данного типа;
13 - ЭП под сущностью (запросом) не верна.
55 - Дата в УИП не равна дате приема к исполнению распоряжения плательщика

Прилагаем архив, в котором находятся:
1.Пара документов: SOAP_etalon_pay.xml и SOAP_etalon_pay_response_1_id.xml.
Документ SOAP_etalon_pay - первый отравляемый запрос (импорт платежа), документ SOAP_etalon_pay_response_1_id - запрос с package id для проверки обработки.
1) в случае c кодом 5 (данные уже присутствуют в системе) - нужно изменить последние 8 символов идентификатора платежа (см. GisManual.txt)
2) в случае с кодом 55 - нужно проверить, что дата в идентификаторе платежа и в остальных элементах сообщения одинакова (см. GisManual.txt)

2. Архив примеров (samples-sources.jar).

Примеры XAdESExample и XAdESSignVerify демонстрируют работу xades.
Пример XAdES4JSignVerify демонстрирует работу xades4j, а пример XAdESvsXadES4JExample - перекрестную проверку их подписей.
С помощью примеров XAdESExample, XAdESSignVerify и XAdES4JSignVerify можно подписать и проверить документ (узел).
Перед запуском нужно иметь в папке data (см. архив) пару файлов с именами SOAP_etalon_pay.xml и SOAP_etalon_pay_response_1_id.xml и скопировать ключевой контейнер test. 
Для XAdES-T используется тестовый ключевой контейнер из класса Container2001 (в пакете CAdES.configuration.container) и хранилище доверенных сертификатов xadesTrustStore с паролем 1 для проверки подписи.

Пример GisGmpServiceExample в пакете xades.gisgmp осуществляет последовательно подпись документа с именем SOAP_etalon_pay.xml при помощи xades, затем создание Security Header
и подпись всего документа с помощью wss4j. Для этого используется специальный контейнер с сертификатом, выпущенным в аккредитованном УЦ (иначе не проходит проверка подписи) - GisSignContainer.
Пароль на контейнер - 1.
Затем из полученного ответа извлекается package id, формируется запрос из документа SOAP_etalon_pay_response_1_id.xml с подстановкой package id. К этому запросу добавляется Security Header и подпись
средставми wss4j, запрос отправляется сервису ГИС. Получаем  и проверяем ответ.

В примере GisGmpServiceLowEnvelopeExample документ собирается с помощью SOAPMessage из блоков. Документ подписывается при помощи xades. Затем средставми wss4j добавляется Security Header и
подпись всего документа. Документ отправляется сервису ГИС,
Затем из полученного ответа извлекается package id, на основе его формируется запрос с помощью SOAPMessage из блоков. К этому запросу добавляется Security Header и подпись средставми wss4j,
запрос отправляется сервису ГИС. Получаем  и проверяем ответ.

В примере GisGmpServiceCombinedExample документ собирается с помощью классов, созданных по xsd-схемам. Документ преобразуется в SOAP-сообщение, подписывается при помощи xades.
Затем создается Security Header и подпись всего документа средставми wss4j, после чего документ отправляется сервису ГИС. Затем из полученного ответа извлекается package id,
на основе его формируется запрос с помощью классов, созданных по xsd-схемам. Запрос преобразуется в SOAP-сообщение, в него добавляется Security Header и подпис средставми wss4j,
запрос отправляется сервису ГИС. Получаем  и проверяем ответ.

В примере GisGmpServiceNewExample документ собирается с помощью классов, созданных по xsd-схемам. Изначально формируется докуент типа BaseMessageType (класс из xsd-схем), после
он преобразуется в SOAP-сообщение, подписывается при помощи xades, преобразуется обратно к типу BaseMessageType (но уже с подписью), после чего отправляется в сервис ГИС при помощи
WSS4JOutInterceptor (происходит одновременное формирование SecurityHeader, отправка сообщения, проверка).
Затем из полученного ответа извлекается package id, на основе его формируется запрос с помощью классов, созданных по xsd-схемам.Запрос отправляется в сервис при помощи WSS4JOutInterceptor.
Получаем  и проверяем ответ.
В данном примере используется реализация класса Merlin (wss4j.wss4j1_6.ws.security.components.crypto.MerlinEx). Обязательно должен быть настроен кофнгурационный файл WebContent/crypto.properties.


Существование проблемы с версией xades в документе пока не установлено.

3. Тестовый ключевой контейнер test с паролем 1, выпущен в тестовом УЦ (для подписи XAdES-T).
4. Хранилище доверенных сертификатов xadesTrustStore с паролем 1 в папке data (для проверки подписи XAdES-T).
5. Ключевой контейнер GisSignContainer с паролем 1 для примеров из пакета xades.gisgmp.

Потребуются дополнительные зависимости из папки dependencies:

- для примеров xades:
aopalliance-1.0.jar
guice-2.0.jar
guice-multibindings-2.0.jar
wss4j-1.6.6.jar
xades4j-1.3.2.jar

- для примеров gisgmp
activation-1.1.jar
axis-1.4.jar
axis-jaxrpc-1.4.jar
commons-discovery-0.5.jar
mail-1.4.jar
wsdl4j-1.6.2.jar
- для примера GisGmpServiceNewExample также нужны
cxf-bundle-2.7.6.jar
neethi-3.0.2.jar
xmlschema-core-2.0.3.jar


- а также  (???)
bcpkix-jdk15on-1.60.jar
bcprov-jdk15on-1.60.jar
commons-logging-1.2.jar
hamcrest-core-1.3.jar
joda-time-1.6.2.jar
opensaml-2.5.1-1.jar
openws-1.4.2-1.jar
serializer-2.7.1.jar
slf4j-api-1.7.9.jar
xalan-2.7.0.jar
xercesImpl-2.9.1.jar
xml-apis-1.3.04.jar
xmlsec-1.5.0.jar
xmltooling-1.3.2-1.jar


, установленный JCP со снятыми ограничениями и ключевой контейнер с сертификатом, выпущенным в аккредитованном УЦ (для общей подписи в Security Header).

Инициализация примеров описана в классе xades.util.GostXAdESUtility в разделе static.
Есть 2 важных нюанса:
1) использование библиотеки XMLDSigRI. Эта библиотека появилась в JCP версии 1.0.54, она зависит от xmlsec 1.5.0 и используется в примерах из-за wss4j для создания подписи в Security Header.
Если предполагается применять JCP 1.0.46 и wss4j, то XMLDSigRI можно взять из JCP 1.0.54.
2) возможное возникновение проблемы с поиском элемента по ID в xades4j при создании подписи формата XAdES-T с применением JCP 1.0.54.
Для поиска по ID добавлен код:
org.apache.xml.security.utils.resolver.ResourceResolver.register(new xades.utility.DocumentIdResolver(), true);
DocumentIdResolver - класс для поиска элемента в документе по ID. В xmlsec 2.0 его реализация будет иная, т.к. в нем изменился ResourceResolverSpi.