[ 
https://issues.apache.org/jira/browse/WINK-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12786870#action_12786870
 ] 

Michael Elman commented on WINK-236:
------------------------------------

It works, because CustomerList is annotated with @XmlRootElement, so it is 
handled by JAXB provider.
However, there is no JAXB provider that handles collections.
Thinking about it, I cannot define the correct behavior of such a provider. 
What should it do with element 'customer' if it has no information about the 
root element 'customers'? It cannot create output like:
{code}
<customer>...</customer>
<customer>...</customer>
<customer>...</customer>
<customer>...</customer>
{code}
Since it won't be a valid xml.

Anyway, about your bug: it's not a Generics problem. The problem is that you 
don't have provider that can handle collections of JAXB objects. Wink doesn't 
contains such a provider out of the box, but it's not a bug, since such a 
provider is not required by JAX-RS spec.
Therefore, this issue is invalid and should be closed.

If you want, you can open a feature request for JAXB provider that can handle 
collections, but you'll need to define a behavior of such a provider.

> Generics not usable as return type
> ----------------------------------
>
>                 Key: WINK-236
>                 URL: https://issues.apache.org/jira/browse/WINK-236
>             Project: Wink
>          Issue Type: Bug
>          Components: Providers
>    Affects Versions: 1.0
>            Reporter: Juergen Zimmermann
>
> I want to use a resource's method as follows:
> @GET
> @Path("/customers")
> @Produces({APPLICATION_XML, TEXT_XML, APPLICATION_JSON})
> public List<Customer> findCustomers(@QueryParam("lastname") @DefaultValue("") 
> String lastname, @Context HttpHeaders headers) throws ...
> 09:39:14,839 ERROR [FlushResultHandler] Could not find a writer or 
> DataSourceProvider for java.util.ArrayList type and application/xml mediaType.
> 09:39:14,845 ERROR [RequestProcessor] WebApplicationException (500 - Internal 
> Server Error) occured during the handlers chain invocation
> javax.ws.rs.WebApplicationException
>       at 
> org.apache.wink.server.internal.handlers.FlushResultHandler.handleResponse(FlushResultHandler.java:210)
>       at 
> org.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:38)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
>       at 
> org.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:39)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
>       at 
> org.apache.wink.server.handlers.AbstractHandler.handleResponse(AbstractHandler.java:39)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.ResponseHandlersChain.handle(ResponseHandlersChain.java:22)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)
>       at 
> org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:158)
>       at 
> org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:133)
>       at 
> org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:105)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>       at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>       at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
>       at 
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
>       at 
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
>       at 
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:905)
>       at 
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:592)
>       at 
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)
>       at java.lang.Thread.run(Thread.java:717)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to