wsgen генерирует WSDL, используя @WebMethod, но игнорируя @WebParam

Я генерирую WSDL из класса Java, используя @WebService, @WebMethod а также @WebParam аннотаций. WSDL генерируется и включает вывод для @WebService а также @WebMethod, но @WebParam аннотации, похоже, игнорируются.

Вот одно объявление метода с этой проблемой:

@WebMethod(action = "jmsServiceInitialise")
public boolean jmsServiceInitialise(
        @WebParam(name = "queue") String queueName, 
        @WebParam(name = "channel") String channel, 
        @WebParam(name = "hostname") String hostName, 
        @WebParam(name = "port") String port, 
        @WebParam(name = "requiresresponse") boolean requiresResponse) {
    log.info("jmsServiceInitialise " + queueName + ": started");
    // etc
    return returnValue;
}

Файл WSDL не содержит упоминаний о каких-либо параметрах, но метод есть. Метод может быть вызван как веб-служба, но все значения параметров String null,

Изначально я столкнулся с этой проблемой в Eclipse, но с тех пор повторил проблему с wsgen в командной строке (Windows, JAX-WS RI 2.2.4-b01) и получил тот же результат.

Что мне не хватает?

Благодарю.

1 ответ

Добавлять @WebResult annotation to method, after @WebMethod аннотирование
а также
делать @WebMethod(operationName = "jmsServiceInitialise") instead of action

Другие вопросы по тегам