You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "toby cabot (JIRA)" <ax...@ws.apache.org> on 2005/11/17 16:33:42 UTC

[jira] Updated: (AXIS-2308) bad online-generated wsdl for derivatives of complex types

     [ http://issues.apache.org/jira/browse/AXIS-2308?page=all ]

toby cabot updated AXIS-2308:
-----------------------------

    Attachment: axis-complex-wsdl-patch.txt

Here's a patch that fixes the problem.  It's pretty simple - it looks like most of the work was previously done.  There's a variable "e" that's either the complexType or the extension, depending on the inheritance, so I attach the attribute to that rather than always attach it to the complexType.  Works for me.


> bad online-generated wsdl for derivatives of complex types
> ----------------------------------------------------------
>
>          Key: AXIS-2308
>          URL: http://issues.apache.org/jira/browse/AXIS-2308
>      Project: Apache Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.2.1
>  Environment: fedora core 2
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
>     Reporter: toby cabot
>  Attachments: axis-complex-wsdl-patch.txt
>
> If you've got a schema object that inherits from another, e.g.:
>     <xsd:complexType name="ECSpec">
>         <xsd:complexContent>
>             <xsd:extension base="epcglobal:Document">
>                 <xsd:sequence>
>                     <xsd:element name="logicalReaders" type="ale:ECLogicalReaders"/>
>                     <xsd:element name="boundarySpec" type="ale:ECBoundarySpec"/>
>                     <xsd:element name="reportSpecs" type="ale:ECReportSpecs"/>
>                     <xsd:element name="extension" type="ale:ECSpecExtension" 
>                                  minOccurs="0"/>
>                     <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"
>                              namespace="##other"/>
>                 </xsd:sequence>
>                 <xsd:attribute name="includeSpecInReports" type="xsd:boolean"
>                                default="false"/>
>                 <xsd:anyAttribute processContents="lax"/>
>             </xsd:extension>
>         </xsd:complexContent>
>     </xsd:complexType>
> The WSDL generated by the online WSDL-generation tool will incorrectly put the "includeSpecInReports" attribute as a child of the complexType element instead of the extension element, e.g.
>    <complexType name="ECSpec">
>     <complexContent>
>      <extension base="tns2:Document">
>       <sequence>
>        <element name="logicalReaders" type="tns1:ECLogicalReaders"/>
>        <element name="boundarySpec" type="tns1:ECBoundarySpec"/>
>        <element name="reportSpecs" type="tns1:ECReportSpecs"/>
>        <element maxOccurs="1" minOccurs="0" name="extension" type="tns1:ECSpecExtension"/>
>       </sequence>
>      </extension>
>     </complexContent>
>     <attribute name="includeSpecInReports" type="xsd:boolean"/>
>    </complexType>

-- 
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