JAXB генерирует фабричные методы, которые создают JAXBElement из экземпляра объекта, только если ваш XSD содержит как определение complexType, так и отдельное определение элемента, используя этот complexType с тем же именем, например:
<complexType name="my-type">
...
</complexType>
<element name="my-type" type="tns:my-type"/>
В этом случае JAXB не будет аннотировать сгенерированный класс аннотацией @XmlRootElement, но предоставит фабричные методы, необходимые для создания JAXBElement из экземпляра объекта. Таким образом, вы можете легко сериализовать экземпляры типов без корневых элементов в качестве корневых элементов.
Таким образом, вы должны просто добавить декларацию «element» с тем же именем в дополнение к любому определению complexType, которое вы собираетесь использовать в качестве элемента верхнего уровня, и ObjectFactory сгенерирует ожидаемые фабричные методы.