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

Reply via email to