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