[ 
https://issues.apache.org/jira/browse/AXIS-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lord Halbert updated AXIS-2386:
-------------------------------

    Affects Version/s: 1.4
                       1.2

> Java2WSDL changes type double array into a single double.
> ---------------------------------------------------------
>
>                 Key: AXIS-2386
>                 URL: https://issues.apache.org/jira/browse/AXIS-2386
>             Project: Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.2, 1.2.1, 1.3, 1.4
>         Environment: Linux 2.4.26, java version "1.5.0_04", Tomcat 5.5
>            Reporter: Eric Webster
>            Priority: Blocker
>         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.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to