I think you are looking for it.
<complexType name='ArrayOfString'> <sequence> <element name='item' type='xsd:string' maxOccurs='unbounded'/> </sequence> </complexType>
Source: http://www.activebpel.org/samples/samples-2/BPEL_Samples/Resources/Docs/arrays.html
UPDATE:
I conducted a test using NetBeans 7.0.1. The result of this was the following:
Declare a method that receives the String [] parameter:
@WebMethod(operationName = "helloArray") public String helloArray(@WebParam(name = "name") String[] name) { StringBuilder sb = new StringBuilder("Hello "); if (name != null) { for(int i = 0; i < name.length; i++) { sb.append(name[i]); if (i < (name.length - 1)) { sb.append(" and "); } } } sb.append('!'); return sb.toString(); }
WSDL generated a complex type for my method with an array element String
<xs:complexType name="helloArray"> <xs:sequence> <xs:element name="name" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>
In the client, the IDE generated a List<String>
to use it:
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "helloArray", propOrder = {"name"}) public class HelloArray { @XmlElement(nillable = true) protected List<String> name; public List<String> getName() { if (name == null) { name = new ArrayList<String>(); } return this.name; } }
And the method of using the service
private String helloArray(java.util.List<java.lang.String> name) { edu.home.wsclient.HelloWorldWS port = service.getHelloWorldWSPort(); return port.helloArray(name); }
I downloaded both projects at this address
source share