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:27:41 UTC
[jira] Created: (AXIS-2308) bad online-generated wsdl for derivatives of complex types
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
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
[jira] Updated: (AXIS-2308) bad online-generated wsdl for derivatives of complex types
Posted by "toby cabot (JIRA)" <ax...@ws.apache.org>.
[ 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