[ 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]