[ 
https://issues.apache.org/jira/browse/CXF-2604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797967#action_12797967
 ] 

Sergey Beryozkin commented on CXF-2604:
---------------------------------------

Alan, how do you enable Aegis, by registering AegisElementProvider or using 
jaxrs:databinding ? 

> Issue with multiple REST methods having List<T> arguments
> ---------------------------------------------------------
>
>                 Key: CXF-2604
>                 URL: https://issues.apache.org/jira/browse/CXF-2604
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding, JAX-RS
>    Affects Versions: 2.2.5
>         Environment: JBoss 4.3 Using CXF 2.2.5
>            Reporter: Alan Hazelton
>
> I have a REST based service method that takes a List<Foo> parameter.  The 
> method is annotated with @POST and I can verify that the XML body of the POST 
> request from the server expects the top level element to be <ArrayOfFoo> and 
> a second method that takes a List<Bar> parameter.
> It is important to note that the Foo and Bar classes are in different 
> packages and therefore the namespaces are different.
> The service would look something like this:
> My resource is defined like this:
> @Path("/")
> public class SomeResource {
>   @POST
>   @Path("/foo/update")
>   void postFoo(List<Foo> list) {}
>  
>   @POST
>   @Path("/bar/update")
>   void postBar(List<Bar> list) {}
> } 
> When I stop the server in the debugger after posting to "/foo/update" I can 
> see that in the org.apache.cxf.aegis.type.TypeUtil class the 
> getReadTypeStandalone() method is invoked to get the top level type.  In this 
> case it will be ArrayOfFoo and the type is located and my method called with 
> the correct list object un-marshalled from XML.
> In the second case, when posting to "/bar/update", ArrayOfBar is not found in 
> the AegisContext and null is returned by the getReadTypeStandalone method.
> The part that really confuses me is that if at runtime (after restarting the 
> server) I invoke the postBar method before invoking the postFoo method, the 
> ArrayOfBar type is located but not the ArrayOfFoo type.
> Some important things to note:
> 1.  This seems to only affect the ArrayOf<T> classes.   Other custom classes 
> from different namespaces are fine.
> 2.  This only happens when ArrayOfBar is in a different namespace from 
> ArrayOfFoo.

-- 
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