Yes, and AXIS-1405 appears similar, if not identical, to the problem I
reported earlier today. AXIS-1405, if I am reading things correctly, is a
critical open bug, unassigned since June 21, 2004.

Eric Webster (JIRA) said:
>     [
> http://issues.apache.org/jira/browse/AXIS-2386?page=comments#action_12364268
> ]
>
> Eric Webster commented on AXIS-2386:
> ------------------------------------
>
> This is similar but different then bug AXIS-1405
> https://issues.apache.org/jira/browse/AXIS-1405
>
>> Java2WSDL changes type double array into a single double.
>> ---------------------------------------------------------
>>
>>          Key: AXIS-2386
>>          URL: http://issues.apache.org/jira/browse/AXIS-2386
>>      Project: Apache Axis
>>         Type: Bug
>>   Components: WSDL processing
>>     Versions: 1.2.1, 1.3
>>  Environment: Linux 2.4.26, java version "1.5.0_04", Tomcat 5.5
>>     Reporter: Eric Webster
>>     Priority: Minor
>>  Attachments: DataSet.wsdl, IncorrectDataSet.wsdl
>>
>> Java2WSDL changes type double array into a single double.
>> This happens when you run Java2WSDL manually on the command line or when
>> a wsdl file is generated from a service_name?wsdl url.
>> Currently to fix this I just manually edit the generated WSDL file and
>> distrobute that.
>> The Java code originally came from a hand made WSDL file. WSDL2Java was
>> used to generate the Java code. The section that is affected by this
>> problem is the 'ValueVector' complexType which contains and element
>> 'values' which is an array of doubles. After converting to Java and then
>> back to WSDL 'values' becomes a single double.
>> Here is the original WSDL file.
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions
>>     targetNamespace="dataset.odin.cirg.washington.edu"
>>     xmlns:apachesoap="http://xml.apache.org/xml-soap";
>>     xmlns:impl="dataset.odin.cirg.washington.edu"
>>     xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>     xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>>   <wsdl:types>
>>     <schema targetNamespace="dataset.odin.cirg.washington.edu"
>> xmlns="http://www.w3.org/2001/XMLSchema";>
>>       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>>
>>       <complexType name="ArrayOf_xsd_double">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:double[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="ArrayOf_xsd_string">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>
>>       <simpleType name="TypeEnum">
>>      <restriction base="xsd:string">
>>        <enumeration value="count"/>
>>        <enumeration value="flag"/>
>>        <enumeration value="score"/>
>>        <enumeration value="blank"/>
>>        <enumeration value="error"/>
>>        <enumeration value="other"/>
>>        <enumeration value="unknown"/>
>>      </restriction>
>>       </simpleType>
>>       <simpleType name="IntervalUnitEnum">
>>      <restriction base="xsd:string">
>>        <enumeration value="second"/>
>>        <enumeration value="week"/>
>>        <enumeration value="month"/>
>>        <enumeration value="year"/>
>>      </restriction>
>>       </simpleType>
>>       <complexType name="Attribute">
>>      <sequence>
>>        <element name="name" type="xsd:string"/>
>>        <element name="value" type="xsd:string" nillable="true"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="ArrayOf_impl_Attribute">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType"
>> wsdl:arrayType="impl:Attribute[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="ValueVector">
>>      <sequence>
>>        <element name="name" type="xsd:string" nillable="true"/>
>>        <element name="type" type="impl:TypeEnum"/>
>>        <element name="date" type="xsd:string"/>
>>        <element name="interval" type="xsd:int"/>
>>        <element name="intervalUnit" type="impl:IntervalUnitEnum"/>
>>        <element name="attributes" type="impl:ArrayOf_impl_Attribute"
>> nillable="true"/>
>>        <element name="values" type="impl:ArrayOf_xsd_double"
>> nillable="true"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="ArrayOf_impl_ValueVector">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType"
>> wsdl:arrayType="impl:ValueVector[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="DataSet">
>>      <sequence>
>>        <element name="name" type="xsd:string" nillable="true"/>
>>        <element name="attributes" type="impl:ArrayOf_impl_Attribute"
>> nillable="true"/>
>>        <element name="vectors" type="impl:ArrayOf_impl_ValueVector"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="ArrayOf_impl_DataSet">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType"
>> wsdl:arrayType="impl:DataSet[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="DataSetArray">
>>      <sequence>
>>        <element name="array" type="impl:ArrayOf_impl_DataSet"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="SurvCol">
>>      <sequence>
>>        <element name="name" type="xsd:string"/>
>>        <element name="values" type="impl:ArrayOf_xsd_string"/>
>>        <element name="attributes" type="impl:ArrayOf_impl_Attribute"
>> nillable="true"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="ArrayOf_impl_SurvCol">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType"
>> wsdl:arrayType="impl:SurvCol[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="SurvDataSet">
>>      <sequence>
>>        <element name="name" type="xsd:string" nillable="true"/>
>>        <element name="attributes" type="impl:ArrayOf_impl_Attribute"
>> nillable="true"/>
>>        <element name="vectors" type="impl:ArrayOf_impl_SurvCol"/>
>>      </sequence>
>>       </complexType>
>>       <complexType name="ArrayOf_impl_SurvDataSet">
>>      <complexContent>
>>        <restriction base="soapenc:Array">
>>          <attribute ref="soapenc:arrayType"
>> wsdl:arrayType="impl:SurvDataSet[]"/>
>>        </restriction>
>>      </complexContent>
>>       </complexType>
>>       <complexType name="SurvDataSetArray">
>>      <sequence>
>>        <element name="array" type="impl:ArrayOf_impl_SurvDataSet"/>
>>      </sequence>
>>       </complexType>
>>     </schema>
>>   </wsdl:types>
>> </wsdl:definitions>
>> Here is what 'ValueVector' turns into after running WSDL2Java (which
>> creates correct java code) and then Java2WSDL.
>>    <complexType name="ValueVector">
>>     <sequence>
>>      <element name="name" nillable="true" type="xsd:string"/>
>>      <element name="type" type="tns2:TypeEnum"/>
>>      <element name="date" type="xsd:string"/>
>>      <element name="interval" type="xsd:int"/>
>>      <element name="intervalUnit" type="tns2:IntervalUnitEnum"/>
>>      <element name="attributes" nillable="true"
>> type="impl:ArrayOf_tns1_Attribute"/>
>>      <element name="values" nillable="true" type="xsd:double"/>
>>     </sequence>
>>    </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
>
>

Reply via email to