XMLSignatureInput в библиотеке от СМЭВ на java

324
29 октября 2017, 17:46

Так как у СМЭВ есть образцовая реализация механизма их же нормализации XML в их методической рекомендации (можно глянуть тут пункт 12.4), то я решил для проверки собственноручной реализации ее в пыхе попробовать проверить себя, все ли правильно. Проблема в том что в java я новичок и сильно путаюсь в обилии библиотек и классов, но среду худо-бедно настроил. Смысл вопроса в следующем:

На входе в качестве аргумента в функцию для трансформации принимется объект класса XMLSignatureInput. После гугления и матерков я нагуглил вроде правильынй способ получить его из обычной и привычной строки (в пыхе к счастью все намного проще):

String xmlText = "<ns2:SenderProvidedRequestData xmlns:ns2=\"urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.0\" Id=\"SIGNED_BY_CONSUMER\">\n" +
                " <MessagePrimaryContent xmlns=\"urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.0\">\n" +
                "  <SomeRequest:SomeRequest xmlns:SomeRequest=\"urn://x-artifacts-it-ru/vs/smev/test/test-business-data/1.0\">\n" +
                "   <x xmlns=\"urn://x-artifacts-it-ru/vs/smev/test/test-business-data/1.0\">qweqwe</x>\n" +
                "  </SomeRequest:SomeRequest>\n" +
                " </MessagePrimaryContent>\n" +
                "</ns2:SenderProvidedRequestData>";
        byte[] byteArray = xmlText.getBytes("UTF-8");
        InputStream stream = new ByteArrayInputStream(byteArray);
        XMLSignatureInput xml = new XMLSignatureInput(stream);

Как я понял мы преобразуем набор символов в какой-то поток и пихаем его в этот импут. Онако образцовая ХМЛ из примера той же методической рекомендации не хочет читаться механизмом трансформации. И когда делаешь вот так:

xml = transform.enginePerformTransform(xml);

То валится ошибка в стиле

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]

Т.е. при начале чтения этого самого XMLSignatureInput он валится и не может его прочитать. Такое ощущение что нужная структура данных из текстовой ХМЛки не создается. Если кто-то работал с XMLSignatureInput или еще лучше той ОБРАЗЦОВОЙ реализацией от СМЭВ поясните пожалуйста как оно правильно делается?

READ ALSO
Странная ошибка в приложении Swing

Странная ошибка в приложении Swing

Делаю редактор кода с подсветкой синтаксиса на Swing в NetBeans 82

257
перевод миллисекунд в минуты

перевод миллисекунд в минуты

Здравствуйте! При переводе миллисекунд в минуты, число превышает 60, должно быть меньше 60Что я делаю не так, подскажите? Спасибо

346