[ https://issues.apache.org/jira/browse/AXIS-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520708 ]
lordhalbert edited comment on AXIS-2386 at 8/17/07 4:30 PM: ------------------------------------------------------------- Well, I take back what I said about this being fixed. I thought it was fixed because the generated WSDL looked fined, however, upon an actual testing using a test client, it failed. So, in other words, THIS IS NOT FIXED YET !! I did noticed in the generated source file the type is still incorrect: [code] static { ... elemField.setXmlName(new javax.xml.namespace.QName("", "someArray")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); .... } [/code] I believe it should be: static { ... elemField.setXmlName(new javax.xml.namespace.QName("", "someArray")); elemField.setXmlType(new javax.xml.namespace.QName("urn:test.company.com", "ArrayOf_xsd_int")); ... } was (Author: lordhalbert): Well, I take back what I said about this being fixed. I thought it was fixed because the generated WSDL looked fined, however, upon an actual testing using a test client, it failed. So, in other words, THIS IS NOT FIXED YET !! I did noticed in the generated source file the type is still incorrect: static { ... elemField.setXmlName(new javax.xml.namespace.QName("", "someArray")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); .... } I believe it should be: static { ... elemField.setXmlName(new javax.xml.namespace.QName("", "someArray")); elemField.setXmlType(new javax.xml.namespace.QName("urn:test.company.com", "ArrayOf_xsd_int")); ... } > 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: Not specific to an environment. It's only specific to > the Axis version used. > Reporter: Eric Webster > Priority: Blocker > Attachments: DataSet.wsdl, IncorrectDataSet.wsdl, test.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]