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