Re: Does JavaToWSDL support generics ?

2008-04-21 Thread stlecho

  Dan,

The original post was the output of CXF v2.0.5.

When trying with CXF v2.1-incubator-snapshot of 2008-04-15, the
getAllCarsResponse remains a sequence without any reference to the Car
element: xsd:element name=getAllCarsResponse
type=tns:getAllCarsResponse/xsd:complexType
name=getAllCarsResponsexsd:sequencexsd:element maxOccurs=unbounded
minOccurs=0 name=return//xsd:sequence/xsd:complexType

I've tried with 2 other methods that do not use generics, but in both cases
the generated WSDL does not contain a reference to the Car element.

Java method: public Car[] getAllCarsAsArray();
Generated WSDL: xsd:element name=getAllCarsAsArrayResponse
type=tns:getAllCarsAsArrayResponse/xsd:complexType
name=getAllCarsAsArrayResponsexsd:sequencexsd:element
maxOccurs=unbounded minOccurs=0
name=return//xsd:sequence/xsd:complexType

Java method: public Car getOneCar();
Generated WSDL: xsd:element name=getOneCar
type=tns:getOneCar/xsd:complexType
name=getOneCarxsd:sequence//xsd:complexType


Regards, Stefan Lecho.


dkulp wrote:
 
 
 What version of CXF?   That should definitely be working.
 
 Dan
 
 
 On Thursday 17 April 2008, stlecho wrote:
 Hi,

 I would like to generate a WSDL for the following method: public
 ListCar getAllCars();. In the generated WSDL I expect to have
 something similar to 'xs:element
 name=getAllCarsResponsexs:complexTypexs:sequencexs:element
 minOccurs=0 name=return nillable=true
 type=xxx:Car//xs:sequence/xs:complexType/xs:element'.

 When using JavaToWSDL, the generated WSDL contains 'xsd:element
 name=getAllCars type=tns:getAllCars /xsd:complexType
 name=getAllCarsxsd:sequence //xsd:complexTypexsd:element
 name=getAllCarsResponse type=tns:getAllCarsResponse
 /xsd:complexType
 name=getAllCarsResponsexsd:sequencexsd:element
 maxOccurs=unbounded minOccurs=0 name=return
 //xsd:sequence/xsd:complexType'. There is no reference to the
 'Car' element :o(.

 Based on this experience I was wondering if JavaToWSDL supports
 generics or should I specify an additional parameter to generate a
 reference to the 'Car' element in the 'getAllCarsResponse' element ?

 Regards, Stefan Lecho.
 
 
 
 -- 
 J. Daniel Kulp
 Principal Engineer, IONA
 [EMAIL PROTECTED]
 http://www.dankulp.com/blog
 
 

-- 
View this message in context: 
http://www.nabble.com/Does-JavaToWSDL-support-generics---tp16743152p16804887.html
Sent from the cxf-user mailing list archive at Nabble.com.



Re: Does JavaToWSDL support generics ?

2008-04-21 Thread stlecho

Ian,

Unfortunately, Car is an interface and not a concrete class.

Regards, Stefan Lecho.


ianroberts wrote:
 
 stlecho wrote:
 Hi,
 
 I would like to generate a WSDL for the following method: public
 ListCar
 getAllCars();.
 
 This should work as you expect, so long as Car is a concrete class and 
 not an interface.  If it's an interface things get more difficult, but 
 if you search for interface in the list archives you should find 
 several threads to help.
 
 Ian
 
 -- 
 Ian Roberts   | Department of Computer Science
 [EMAIL PROTECTED]  | University of Sheffield, UK
 
 

-- 
View this message in context: 
http://www.nabble.com/Does-JavaToWSDL-support-generics---tp16743152p16807958.html
Sent from the cxf-user mailing list archive at Nabble.com.



Re: Does JavaToWSDL support generics ?

2008-04-21 Thread Daniel Kulp
On Monday 21 April 2008, stlecho wrote:
 Ian,

 Unfortunately, Car is an interface and not a concrete class.

Yea, that would be the issue.  JAXB doesn't support interfaces directly, 
just concrete beans.   To get this to work, you would need to write an 
XmlJavaTypeAdapter to convert the Car objects to a concrete CarImpl or 
something that JAXB can deal with.   That said, I think that will only 
work with 2.1.  We actually have a sample that shows the TypeAdapters in 
the 2.1 kits in the sample/java_first_jaxws directory.

Dan



 Regards, Stefan Lecho.

 ianroberts wrote:
  stlecho wrote:
  Hi,
 
  I would like to generate a WSDL for the following method: public
  ListCar
  getAllCars();.
 
  This should work as you expect, so long as Car is a concrete class
  and not an interface.  If it's an interface things get more
  difficult, but if you search for interface in the list archives
  you should find several threads to help.
 
  Ian
 
  --
  Ian Roberts   | Department of Computer Science
  [EMAIL PROTECTED]  | University of Sheffield, UK



-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog


Re: Does JavaToWSDL support generics ?

2008-04-17 Thread Daniel Kulp

What version of CXF?   That should definitely be working.

Dan


On Thursday 17 April 2008, stlecho wrote:
 Hi,

 I would like to generate a WSDL for the following method: public
 ListCar getAllCars();. In the generated WSDL I expect to have
 something similar to 'xs:element
 name=getAllCarsResponsexs:complexTypexs:sequencexs:element
 minOccurs=0 name=return nillable=true
 type=xxx:Car//xs:sequence/xs:complexType/xs:element'.

 When using JavaToWSDL, the generated WSDL contains 'xsd:element
 name=getAllCars type=tns:getAllCars /xsd:complexType
 name=getAllCarsxsd:sequence //xsd:complexTypexsd:element
 name=getAllCarsResponse type=tns:getAllCarsResponse
 /xsd:complexType
 name=getAllCarsResponsexsd:sequencexsd:element
 maxOccurs=unbounded minOccurs=0 name=return
 //xsd:sequence/xsd:complexType'. There is no reference to the
 'Car' element :o(.

 Based on this experience I was wondering if JavaToWSDL supports
 generics or should I specify an additional parameter to generate a
 reference to the 'Car' element in the 'getAllCarsResponse' element ?

 Regards, Stefan Lecho.



-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog