У меня есть SEI «MessageSubmitServicePortType», сгенерированный CXF из WSDL для вызова службы SOAP.
Он принимает экземпляр класса запроса, то есть «MessageSubmitRequestType», при вызове метода операции WSDL.Итак, вызов выглядит следующим образом:
endPointObject.submitMessage(requestTypeObject);
Внутри класса запроса поле с Anytype
в WSDL генерируется как атрибут объекта в Java.
Я устанавливаю экземпляркласса, сгенерированного из внешнего xsd в указанном выше атрибуте типа объекта.
Итак, вкратце,
requestTypeObject.setAnytype(JAXBElelment<ExternalXSD.someclass>)
Этот JAXBElement создан с использованием класса ObjectFatory, сгенерированного из внешнего XSD.
Однако при выполнении я получаю javax.xml.bind.JAXBException externalxsd.someclass is not known in this context
ошибка.
Я знаю, что это можно исправить, добавив @XMLSeeAlso
к классу конечной точки, но я не хочу этого делать, так как эти классы создаются во время выполнения.
Я также попытался добавить аннотацию с помощью файла binding.xjb, но, похоже, он не добавляет указанный класс в существующую аннотацию.Я мог бы положить сюда свои файлы pom.xml
и .xjb
, если бы это помогло.
Есть идеи, как этого достичь?