Hi
On 13/06/13 15:22, allam wrote:
Hello,

I have a restful service which implements the following interface:
@Path("/service/")
public interface ServiceInterface {

     @POST
     @Path("/resources/")
     public void op(Resource1 r);

}

and I have two classes Resource1 and Resource2, such that Resource2 extends
Resource1.
(I am not using @XmlSeeAlso annotation in Resource1 class to bind on
Resource2 class).
I would like to call the service method op, using an instance of Resource2.

Before, by using CXF 2.5, the Resource2 instance is marshalled to the
following XML :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resource2>
    <attr1>default</attr1>
    <attr2>0</attr2>
</resource2>

and an exception is thrown at reception because the expected root element is
"resource1" not "resource2".
That is correct I guess

While by using CXF 2.7, the Resource2 instance is marshalled to the
following XML:
<resource1>
    <attr1>default</attr1>
</resource1>

And there isn't any exception at reception.
That means, in CXF 2.5, the marshalling type was the dynamic type, while in
the cxf 2.7 version, the marshalling type is the static type.
What does make this change between the two versions?
and for which reason this modification was done between the two versions?
In CXF 2.5.x the actual object instance class was reported to the providers, in CXF 2.7.x - the class of the method parameter, which is correct. The fact that no exception is reported is good. I think you need now to use XmlSeeAlso or may be configure JAXBElementProvider to report xsi:type if needed, etc, and on the client side, check please

http://cxf.apache.org/docs/jax-rs-data-bindings.html#JAX-RSDataBindings-CommonJAXBandJSONconfiguration

Cheers, Sergey



Regards,

Diana




--
View this message in context: 
http://cxf.547215.n5.nabble.com/JAX-RS-marshalling-unmarshalling-between-cxf-2-5-and-cxf-2-7-tp5729200.html
Sent from the cxf-user mailing list archive at Nabble.com.



--
Sergey Beryozkin

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

Blog: http://sberyozkin.blogspot.com

Reply via email to