Каково альтернативное решение для @javax.jws.WebMethod(exclude=true)?

В процессе обновления jar-файлов CXF с 2.2.12 до 3.1.6 я столкнулся с проблемой с атрибутом «exclude=true» в аннотации @javax.jws.WebMethod при создании моего проекта. Я получаю следующее исключение.


[java] Ошибка: java.lang.RuntimeException: org.apache.cxf.jaxws.JaxWsConfigurationException: @javax.jws.WebMethod(exclude=true) нельзя использовать в интерфейсе конечной точки службы. Метод: deleteFileInternal [java] Используйте подробный параметр, чтобы показать трассировку стека этой ошибки [java] Ошибка JavaToWS: org.apache.cxf.tools.common.ToolException: org.apache.cxf.jaxws.JaxWsConfigurationException: @javax.jws .WebMethod(exclude=true) нельзя использовать в интерфейсе конечной точки службы.


Это связано с тем, что CXF 3.1.6 не поддерживает атрибут «exclude=true» при генерации WSDL из класса java, если класс помечен аннотацией @javax.jws.WebService.

Может ли кто-нибудь предложить альтернативное решение для этого?


person Sunny Gujarati    schedule 11.07.2016    source источник


Ответы (1)


Не используйте @javax.jws.WebMethod(exclude=true) в интерфейсе, просто используйте его в реализации

public class MyWebServiceImpl implements MyWebService {
    ...
    @WebMethod(exclude = true)
    String methodToExclude(String s) {

    }
} 

Также вы можете удалить метод из интерфейса

person pedrofb    schedule 12.07.2016