I have the following wsdl elements:
<xs:element name="QueryArguments" type="tns:ObjectType"/>
<xs:element name="GetRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="QueryName" type="xs:string"/>
<xs:element ref="tns:QueryArguments" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
This generates the Java method signature:
public Element get(String param0, Element param1) throws Exception()
But, if I change the wsdl slightly to:
<xs:element name="QueryName" type="xs:string"/>
<xs:element name="QueryArguments" type="tns:ObjectType"/>
<xs:element name="GetRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:QueryName"/>
<xs:element ref="tns:QueryArguments" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
It will generate a different Java method signature:
public Element get(Element param0, Element param1) throws Exception()
My question is: Aren't both wsdl patterns the same for the QueryName
element? If so, why are the generated methods different?