Details
-
Bug
-
Status: Open
-
Resolution: Unresolved
-
None
-
None
-
None
-
Operating System: Windows NT/2K
Platform: PC
-
11290
Description
while playing/testing with Axis I used the following WSDL file to
generate stubs, skeletons etc. Please look at the "sequence" statement
in the complexType "idxType". The idea is to have the block enclosed by
the sequence as an array.
I didn't get any complaints during the WSDL2Java run but looking at
the generated code I couldn't figure out how to set the sequence
part more then once.
Because of the definitions in the WSDL type section I expected to
find an array of the "sequence" defined in idxType because it is
defined as unbounded. Did I made somthing wrong or is
it a known problem or yet unsupported in Axis?
Additional info from Glen Daniels:
<quote>
Your WSDL files points out a couple of things we don't deal with yet in Axis.
In particular, I don't think we support maxOccurs on a <sequence> element
itself (though we do on <element>s inside it). We also do not handle <choice>
elements yet.
Could you submit this WSDL in a bugzilla bug report? I think it's pretty
critical that we begin to support this stuff soon.
Thanks!
--Glen
</quote>
Here the WSDL:
<?xml version='1.0' encoding='UTF-8'?>
<definitions name='forTest'
targetNamespace="urn:Ops" xmlns:tns="urn:Ops"
xmlns:srv="urn:service"
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns='http://schemas.xmlsoap.org/wsdl/'>
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:service" xmlns:tns="urn:service"
version="1.0" xml:lang="EN">
<xsd:complexType name="Range">
<xsd:sequence>
<xsd:element name="START" type="xsd:integer"/>
<xsd:element name="STOP" type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="idxType">
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:choice>
<xsd:element name="SINGLE" type="xsd:integer"/>
<xsd:element name="RANGE" type="tns:Range"/>
</xsd:choice>
<xsd:element name="ARRAY" type="xsd:string"
minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name='Data'>
<part name='dataParam' type='srv:idxType' />
</message>
<message name='dataResponse'/>
<portType name='dataPortType'>
<operation name='getData'>
<input name='idxData' message='tns:Data'/>
<output name='outData' message='tns:DataResponse'/>
</operation>
</portType>
<binding name='dataBinding' type='tns:dataPortType'>
<soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/>
<operation name='getData'>
<soap:operation soapAction='getData' style='rpc' />
<input name='idxData'>
<soap:body use='encoded'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
namespace="urn:Ops" />
</input>
<output name='outData'>
<soap:body use='encoded'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</output>
</operation>
</binding>
<service name="DataService">
<port name="dataPort" binding="tns:dataBinding">
<soap:address
location="http://localhost:8090/axis/servlet/AxisServlet"/>
</port>
</service>
</definitions>