Мне кажется, я просто упускаю что-то простое здесь, но вот то, из чего я работаю ...
@WebService
public interface MyService {
public AnInterface doStuff();
}
Вот кое-что из того, что я попробовал.Все с CXF 2.5.2 + Spring в Weblogic 10.3.4 ...
- Используйте @XmlSeeAlso в интерфейсе MyService и AnInterface, чтобы указать JAXB на класс
AnInterfaceImpl
.Это все еще привело к тому, что печально известный JAXB не может обработать исключение интерфейсов. - Использовал @XmlElementReference для метода, но это имело тот же эффект, что и item (1), и, по-видимому, для сериализации свойств
- Используйте метод @ResponseWrapper, но, насколько я понимаю, CXF делает это автоматически (Bare vs Wrapped), но я могу ошибаться.Хотя это позволило создать WSDL, маршалинг во время выполнения всегда возвращал объект по умолчанию.Возможно, я неправильно понимаю, как эта аннотация должна работать.
Я предполагаю, что есть какой-то способ легко аннотировать, что AnInterface
должен быть выставлен через
AnInterfaceImpl
из класса MyService
довольнолегко, но я пропускаю какой-то важный и простой шаг.