List<Double> parameters don't map to xsd:double in generated WSDL
-----------------------------------------------------------------
Key: CXF-1482
URL: https://issues.apache.org/jira/browse/CXF-1482
Project: CXF
Issue Type: Bug
Components: Aegis Databinding, Soap Binding
Affects Versions: 2.1
Environment: Glassfish App Server
Reporter: Javier Delgadillo
When using the Mar 14 snapshot build of 2.1, CXF outputs less than desirable
WSDL for any service that has an input parameter of type List<Double> when used
in conjuction with Aegis Mapping files.
With previous builds, the List<Double> would map to xsd:double, but now it
creates its own namespace.
Here's the interface:
public interface Foo
{
int bar( List<Double> doublesList );
}
Here's the Aegis mapping file:
<?xml version="1.0"?>
<!-- xmlns="http://xfire.codehaus.org/schemas/1.0/mapping.xsd" -->
<mappings>
<mapping>
<method name="bar">
<parameter index="0" mappedName="doublesList"
componentType="java.lang.Double"/>
</method>
</mapping>
</mappings>
Here's the generated WSDL:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://arcwebservices.com/v4"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Foo"
targetNamespace="http://arcwebservices.com/v4">
<wsdl:types>
<xsd:schema xmlns:tns="http://lang.java" attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://lang.java">
<xsd:complexType name="Double">
<xsd:sequence>
<xsd:element minOccurs="0" name="infinite" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="naN" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfDouble">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Double"
nillable="true" type="tns:Double"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema xmlns:ns0="http://lang.java" attributeFormDefault="unqualified"
elementFormDefault="qualified" targetNamespace="http://arcwebservices.com/v4">
<xsd:import namespace="http://lang.java"/>
<xsd:element name="bar">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="doublesList" type="ns0:ArrayOfDouble"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="barResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="return" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="barResponse">
<wsdl:part element="tns:barResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="bar">
<wsdl:part element="tns:bar" name="parameters"/>
</wsdl:message>
<wsdl:portType name="FooPortType">
<wsdl:operation name="bar">
<wsdl:input message="tns:bar" name="bar"/>
<wsdl:output message="tns:barResponse" name="barResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="FooSoapBinding" type="tns:FooPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="bar">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="bar">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="barResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Foo">
<wsdl:port binding="tns:FooSoapBinding" name="FooPort">
<soap:address location="http://localhost:8080/soap/Foo"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.