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 Wes Munsil <mu...@alumni.caltech.edu> on 2006/01/27 23:56:22 UTC
Re: [jira] Commented: (AXIS-2386) Java2WSDL changes type double
arrayinto a single double.
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
>
>