Я пытаюсь XStreamMarshaller. Но когда я пытаюсь проанализировать два xsd: complexType xml файла, я получаю эту ошибку:
class[1] : com.mc.batch.mapping.authorization.PIECES_JOINTES
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
Xml:
<DOCUMENT>
<ARTICLES>
<ARTICLE>
<NUMERO_ARTICLE>1</NUMERO_ARTICLE>
</ARTICLE>
<ARTICLE>
<NUMERO_ARTICLE>2</NUMERO_ARTICLE>
</ARTICLE>
</ARTICLES>
<PIECES_JOINTES>
<PIECES_JOINTE>
<TYPE_DOCUMENT>PDF</TYPE_DOCUMENT>
</PIECES_JOINTE>
<PIECES_JOINTE>
<TYPE_DOCUMENT>WORD</TYPE_DOCUMENT>
</PIECES_JOINTE>
<PIECES_JOINTE>
<TYPE_DOCUMENT>XLS</TYPE_DOCUMENT>
</PIECES_JOINTE>
</PIECES_JOINTES>
</DOCUMENT>
код:
@Bean
MessageConverter messageConverter() {
Map<String, Class<?>> aliases = new HashMap<>();
XStreamMarshaller marshallerAuthorization = new XStreamMarshaller();
aliases.put("DOCUMENT", DOCUMENT.class);
marshallerAuthorization.setAliases(aliases);
Map implicitArticle = Collections.singletonMap(ARTICLES.class, "ARTICLE");
Map implicitPiece = Collections.singletonMap(PIECES_JOINTES.class, "PIECES_JOINTE");
marshallerAuthorization.setImplicitCollections(implicitPiece);
marshallerAuthorization.setImplicitCollections(implicitArticle);
MarshallingMessageConverter messageConverterAuthorization = new MarshallingMessageConverter(marshallerAuthorization);
messageConverterAuthorization.setTargetType(MessageType.TEXT);
return messageConverterAuthorization;
}
Но как использовать два setImplicitCollections
для сопоставления PIECES_JOINTES.class
и ARTICLES.class
Как мне разрешить этот конфликт? Любая помощь приветствуется. Заранее спасибо.