Hi The reason SomeObject from List<SomeObject> is not currently checked in for the purpose of the WADL grammar generation is that a SomeObject schema element instance can not be used to describe the actual value represented by List<SomeObject>.
For example, assuming SomeObject can be represented as <SomeObject/>, List<SomeObject> (say with a single element) will be represented by default as <SomeObjects><SomeObject/></SomeObjects>. I don't know at the moment how to get a schema element which would describe <SomeObjects><SomeObject/></SomeObjects> generated from List<SomeObject>...SomeObjects is a default wrapper but alternative names can be configured... Thus even if we generate a schema SomeObject element, we won't be able to link to it from a given WADL response or request representation which is supposed to be List<SomeObject>. If it's feasible then I can get it fixed, just not sure how... In meantime a workaround is to use a collection bean, or configure CXF WADL generator with a reference to the custom schema or even WADL instance Cheers, Sergey On Thu, Aug 18, 2011 at 9:55 PM, Daniel Kulp <[email protected]> wrote: > > This definitely sounds like a bug. Can you log an issue (and maybe attach a > patch?) > > Thanks! > Dan > > > On Thursday, August 18, 2011 2:42:42 PM Timothy Paul Hanna wrote: >> I have a service that returns a list of objects using application/xml. The >> WADL doesn't display these object in the grammar nor connects them to the >> operations response. >> >> While debugging in CXF it seems the problem is in >> ResourceUtils.getAllRequestResponseTypes The problem is the this method >> doesn't include the parameterized objects in Lists on return methods. For >> example if I have the service below >> >> public List<SomeObject> getSomeObjects() >> >> SomeObject will not be included as a JAXB object even if I have >> @XMLRootElement declared. It will be included if I have any of the other >> services >> >> public void storSomeObjects(List<SomeObject>) >> >> public SomeObject getSomeObject(Long id) >> >> If I have either of the two above methods in my service, then SomeObject >> will be picked up as a JAXB object and then my WADL will display my >> "getSomeObjects"definition correctly. >> >> This doesn't seem to be consistent. What was the intent of not handling >> Lists as a return type? >> >> Tim >> >> >> NOTICE: This email message is for the sole use of the intended recipient(s) >> and may contain confidential and privileged information. Any unauthorized >> review, use, disclosure or distribution is prohibited. If you are not the >> intended recipient, please contact the sender by reply email and destroy >> all copies of the original message. > -- > Daniel Kulp > [email protected] > http://dankulp.com/blog > Talend - http://www.talend.com > -- Sergey Beryozkin http://sberyozkin.blogspot.com Talend - http://www.talend.com
