Проблема заключается в ... manipulated here ...
части вашего кода.
Исходя из предположения, что вы делаете следующее (или что-то подобное).
// you create a page prop
PagePropsType pageProps = ...
// then you feed it to a shape sheet
ShapeSheetType shapeSheet = ...
shapeSheet.getTextOrXFormOrLine().add(pageProps);
(ShapeSheetType
- суперкласс для StyleSheetType
и т. Д.)
Если это так, то ваша проблема заключается в добавлении pageProps
в список напрямую.
Если вы посмотрите на документацию по методу getTextOrXFormOrLine()
, в ней перечислены типы типов, которые может содержать этот список. Каждый тип обернут в JAXBElement<...>
, поэтому перед добавлением его в список необходимо обернуть pageProps
.
Вы должны сделать это так:
ObjectFactory objectFactory = new ObjectFactory();
JAXBElement<PagePropsType> pagePropsElement = objectFactory.createShapeSheetTypePageProps(pageProps);
(Обратите внимание, что я использовал XJC 2.2.4 для компиляции схем; для меня каждое имя класса имеет суффикс Type
. Возможно, поэтому я в итоге получил VisioDocumentType
вместо VisioDocument
как вы, но это не должно иметь значения.)