WSDL2Java generates wrong source code for the complex type of the following structure:
<xs:complexType name="SomeListType">
<xs:sequence>
<xs:element name="Item" type="tns:ItemType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="attr1" type="xs:string" />
<xs:attribute name="attr2" type="xs:string" />
</xs:complexType>
The complex type should be a sequence with only element, which has maxOccurs="unbounded".
In this case all atributes are ignored and not included to the resulting type.
Version 1.2 works correctly. Version 1.3 works correctly, if the sequense has includes more than one element.
The sample WSDL used for test:
--------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions name ="DayOfWeek"
targetNamespace="
http://www/bug/DayOfWeek.wsdl"
xmlns:tns="
http://www/bug/DayOfWeek.wsdl"
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns="
http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema>
<xsd:complexType name="ReplyType">
<xsd:sequence>
<xsd:element name="Item" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="attr1" type="xsd:string" />
<xsd:attribute name="attr2" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
</types>
<message name="DayOfWeekInput">
<part name="date" type="xsd:date"/>
</message>
<message name="DayOfWeekResponse">
<part name="dayOfWeek" type="tns:ReplyType"/>
</message>
<portType name="DayOfWeekPortType">
<operation name="GetDayOfWeek">
<input message="tns:DayOfWeekInput"/>
<output message="tns:DayOfWeekResponse"/>
</operation>
</portType>
<binding name="DayOfWeekBinding" type="tns:DayOfWeekPortType">
<soap:binding style="document"
transport="
http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetDayOfWeek">
<soap:operation soapAction="getdayofweek"/>
<input>
<soap:body use="encoded"
namespace="
http://www/bug"
encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded"
namespace="
http://www/bug"
encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="DayOfWeekService" >
<documentation>
Returns the day-of-week name for a given date
</documentation>
<port name="DayOfWeekPort" binding="tns:DayOfWeekBinding">
<soap:address location="
http://www/dayofweek/DayOfWeek"/>
</port>
</service>
</definitions>
--------------------------------------------------
For this WSDL Axis 1.2 generates the correct code:
...
public
www.bug.DayOfWeek_wsdl.ReplyType getDayOfWeek(java.util.Date date) ...
...
Where reply type includes attributes attr1 and attr2 as well as Item array.
Axis 1.3 does not generate ReplyType class at all, and declares getDayOfWeek as following:
public java.lang.String[] getDayOfWeek(java.util.Date date)...
which is obviosly wrong.