You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Miguel Angel Alonso (JIRA)" <de...@tuscany.apache.org> on 2008/07/03 11:50:45 UTC
[jira] Created: (TUSCANY-2453) tuscany-maven-wsdl2java generates
wrong code when a element is unbound
tuscany-maven-wsdl2java generates wrong code when a element is unbound
----------------------------------------------------------------------
Key: TUSCANY-2453
URL: https://issues.apache.org/jira/browse/TUSCANY-2453
Project: Tuscany
Issue Type: Bug
Components: Java SCA Tools
Affects Versions: Java-SCA-1.2
Reporter: Miguel Angel Alonso
Executing the maven plugin:
...
<plugin>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-maven-wsdl2java</artifactId>
<version>1.2.1-incubating</version>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-wsdl2java</artifactId>
<version>1.2.1-incubating</version>
</dependency>
</dependencies>
<executions>
<execution>
<configuration>
<targetDirectory>${basedir}/target/generated-sources/wsdl2java-source</targetDirectory>
<wsdlFile>${basedir}/src/main/wsdl/CuentasCliente.wsdl</wsdlFile>
</configuration>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
....
where the wsdl CuentasCliente.wsdl contains:
....
<types>
<xsd:schema targetNamespace="http://itecban.es/wsdl/CuentasCliente" xmlns:ns1="http://itecban.es/schema/transferencia">
<xsd:import namespace="http://itecban.es/schema/transferencia" schemaLocation="transferencia.xsd"/>
<xsd:element name="clienteId">
<xsd:simpleType>
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
</xsd:element>
<xsd:element name="cuentas">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="codigo" type="xsd:string" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="CuentasClienteOperationRequest">
<part name="part1" element="tns:clienteId"/>
</message>
<message name="CuentasClienteOperationResponse">
<part name="part1" element="tns:cuentas"/>
</message>
...
The result is:
public interface CuentasClientePortType {
public java.lang.String CuentasClienteOperation(
long clienteId) throws java.rmi.RemoteException;
}
The created interface method is wrong because is returning a String instead of a list
If I execute the Apache CXF maven plugin:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/wsdl/CuentasCliente.wsdl</wsdl>
</wsdlOption>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
The result is:
public interface CuentasClientePortType {
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@WebResult(name = "cuentas", targetNamespace = "http://itecban.es/wsdl/CuentasCliente", partName = "part1")
@WebMethod(operationName = "CuentasClienteOperation")
public Cuentas cuentasClienteOperation(
@WebParam(partName = "part1", name = "clienteId", targetNamespace = "http://itecban.es/wsdl/CuentasCliente")
long part1
);
}
This result is correct beacuse the method is returning a class, Cuentas, which contains a list.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.