axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Lipke (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Updated: (AXIS-2391) WSDL2Java ignores attributes for complex types that have only element with maxOccurs=unbounded in sequence
Date Wed, 27 Sep 2006 16:31:59 GMT
     [ http://issues.apache.org/jira/browse/AXIS-2391?page=all ]

Nathan Lipke updated AXIS-2391:
-------------------------------

    Attachment: axis-2391.zip

Patch to fix this bug.

I noticed this is still broken in Axis 1.4.

Also, this bug causes bad type generation for WSRP 2.0 schema:
http://www.oasis-open.org/apps/org/workgroup/wsrp/download.php/20061/wsrp_v2_types.xsd

> WSDL2Java ignores attributes for complex types that have only element with maxOccurs=unbounded
in sequence
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2391
>                 URL: http://issues.apache.org/jira/browse/AXIS-2391
>             Project: Apache Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.3
>         Environment: Axis for Java v1.3
> java version "1.5.0_01"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
> Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing)
> Windows XP Professional, SP2
>            Reporter: Vaduz
>            Priority: Blocker
>         Attachments: axis-2391.zip
>
>
> 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.
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message