I've done a minor update to get the list properties supported at CXFNonSpringJaxrsServlet level too, see an example at the end of:

http://svn.apache.org/viewvc?rev=1414825&view=rev

Cheers, Sergey
On 28/11/12 10:37, Sergey Beryozkin wrote:
Hi Lars
On 28/11/12 07:43, Lars Beiderbecke wrote:
Hello,

Yes, a workaround for non-Spring scenarios would be most helpful.

Also note that having to include every single array in a separate file
such as cxf.xml isn't really a workaround, it's more like an ugly
kludge (no offense). Have there been thoughts about a proper solution?

I won't pretend and say it is actually a super way to manage this issue
:-), but I've no idea how to fix it at the Jettison level such that no
custom configuration is requested.

Actually, spotted
http://jackson-users.ning.com/forum/topics/support-for-jettison-s-broken-array-serialization


Jackson does it right all the time, but can optionally be configured to
unwrap a single element array...I suspect there might be few clients out
there who depend on this Jettison specific treatment of a single array
element.

As far as I understand, Jettison can not auto-determine in principle, by
the time it starts to serialize, whether a key with a single value
represents a simple or list property given that it has no access to the
type info. I wonder if Jackson introspects the bean which is serialized
- seems like the only way to do it right...

This is why 'arrayKey' property is needed.

Have a look at Jettison code please too. As I said - I'm not sure this
can be fixed correctly at the custom writer implementation level without
any type info, but may be some other 'hint' my help, I don't know, say,
a simple property can never appear where an array/list property is
supposed to appear, if something like that is possible to assert then
Jettison can always know when to use an array serilaization for a key
with a single value only. Whether it is realistic I do not know...

Cheers. Sergey

I found bug report<https://issues.apache.org/jira/browse/CXF-2820>,
which has been closed as WON'T FIX.

Lars


On Tue, Nov 27, 2012 at 4:36 PM, Sergey
Beryozkin<[email protected]> wrote:
Hi

On 27/11/12 15:30, Ladislav Lenčucha wrote:

Have you checked

http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml?


Could you attach all relevant parts of your cxf.xml? That includes e.g.
<jaxr:server>. Also attach the object that contains
array/collection. Are
the collection items annotated as myArray1 or myArray2?

Unfortunately, given that non-Spring servlet is used, this spring config
won't be used...And it is only possible to list simple parameters, as
opposed to the list parameters, for specific providers...

I'll check if a list parameter can be supported easily enough...

Sergey




--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Reply via email to