I am building a SOAP service in Java with JAX-WS annotations. Among other things I wonder how to annotate array parameters in my methods. At the moment when I generate a wsdl from my annotated interface and then generate java classes again from that wsdl (I do that for testing, in both cases using Apache cxf), it will generate Classes to hold the array parameters.
Example:
@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;
);
}
Where StupidData would be another class annotated like this
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "StupidData")
public class StupidData {
@XmlElement(name = "datapoint")
String datapoint;
}
Then instead of an Array, in the generated classes the Parameter becomes a new class StupidDataArray which has a filed that is the array of StupidData.
Any way to make it accept the array as parameter directly? Thanks...