JAXB, сгенерированный из XSD base64Binary и hexBinary в байтовый массив. У меня есть элемент xsd с base64Binary. Это строгое и не может быть изменено. Но в этом элементе у нас есть значение hexBinary (да, немного запутано). А теперь где это проблема. Я не понимаю, как JAXB разрушает эти элементы, но есть что-то, что мне не подходит. Так что, если в моем элементе может быть hexBinary, это верно. Но мой элемент case имеет тип base64Binary и JAXB, демаршируя эти элементы чем-то другим, что не так для меня. Есть ли способ изменить то, как JAXB обрабатывает эти элементы, и сказать ему, чтобы они обрабатывали, так как эти элементы были бы hexBinary.
может быть, запутанный вопрос, но мне нужна помощь с этим.
так что в скором времени у меня есть элемент base64Binary, но я хочу сказать JAXB о демаршалинге, так как это будет hexBinary
Я прочитал что-то, что мне нужно, чтобы создать новый XmlAdapter, но я не знаю, где его использовать, потому что у меня есть только классы, которые сгенерировали JAXB
UPDATE:
Я нашел, где проблема. когда элемент является base64Binary в сгенерированном классе, он создал это
XmlElement(name="name") protected byte[] element
но когда он является hexBinary, он создает
XmlJavaTypeAdapter(HexBinaryAdapter.class) XmlElement(name="name") protected byte[] element
так что теперь мне нужно знать, как сказать jaxb, чтобы использовать эти адаптеры, когда у меня есть base64Binary
защищенный элемент byte []