Я создаю сервис SOAP на Java с аннотациями JAX-WS. Среди прочего мне интересно, как аннотировать параметры массива в моих методах. В тот момент, когда я генерирую wsdl из моего аннотированного интерфейса, а затем снова генерирую java-классы из этого wsdl (я делаю это для тестирования, в обоих случаях с использованием Apache cxf), он генерирует классы для хранения параметров массива.
Пример:
@WebService(name="sillyService",
...
)
@SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL, parameterStyle=SOAPBinding.ParameterStyle.BARE)
public interface SillyService {
public String doSillyThings(
@WebParameter(name = "stupid") StupidData[] stupid;
);
}
Где StupidData - это другой класс, аннотированный как этот
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "StupidData")
public class StupidData {
@XmlElement(name = "datapoint")
String datapoint;
}
Затем вместо Array в сгенерированных классах Parameter становится новым классом StupidDataArray, в котором имеется поле, являющееся массивом StupidData.
Любой способ заставить его принимать массив как параметр напрямую? Спасибо ...