[
https://issues.apache.org/jira/browse/AXIS-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520708
]
Lord Halbert commented on AXIS-2386:
------------------------------------
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]