Создание утверждения OpenSAML из заданного XML в Java

Я уже давно бился об этом и начинаю добиваться прогресса. Однако у меня возникли проблемы с преобразованием строкового представления утверждения SAML 2 (в XML) в объект утверждения.

Похоже, я получаю действительный org.w3c.dom.Document с соответствующие данные, и, похоже, я получаю действительный SAMLObjectBuilder от фабрики разработчиков, но когда я пытаюсь собрать их вместе, все, что я получаю, - это пустое Утверждение; тема, эмитент, время выпуска и т. д. все null , несмотря на то, что они явно указаны в XML.

Кто-нибудь видит, что я делаю неправильно, и может ли предложить решение?

Document doc = loadXMLFromString(saml);

XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory();

SAMLObjectBuilder assertionBuilder =
  (SAMLObjectBuilder)
  builderFactory.getBuilder(Assertion.DEFAULT_ELEMENT_NAME);

Assertion assertion = assertionBuilder.buildObject(doc.getDocumentElement());

String nameID = assertion.getSubject().getNameID().getValue();

На присвоение nameID, assertion.getSubject () возвращает null , при отсутствии остатка в выражении.

Я использую полный XML-код из sstc-saml-tech- overview-2.0-draft-03, стр. 10.

Вышеупомянутая функция loadXMLFromString () в основном заимствована из . Как в Java анализировать XML как строку вместо файла?

9
задан Community 23 May 2017 в 12:24
поделиться