For the purpose of the demo I introduced a wrapper around the Map<GreetingPhrase, String> and it works nicely, but I'd appreciate any help in getting to the bottom of the problem I described below.

thanks, Sergey

----- Original Message ----- From: "Sergey Beryozkin" <sbery...@progress.com>
To: <dev@cxf.apache.org>
Sent: Wednesday, June 17, 2009 1:19 PM
Subject: JAXRS : issues with AegisProvider


Hi,

I'm seeing problems with the JAXRS AegisElementProvider producing/consuming 
complex types like Maps.
I'm nearly done with making a basic end to end JAX-RS demo working n DOSGi, the 
immediate problem is that
a client proxy fails to consume the following somewhat complicated Aegis-produced 
response (Map<String, String>) :

<ns1:anyType2anyTypeMap xmlns:ns1="urn:org.apache.cxf.aegis.types"><ns1:entry><ns1:key xmlns:ns2="http://rest.greeter.samples.dosgi.cxf.apache.org"; xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"; ns3:type="ns2:GreetingPhrase"><ns2:phrase>Bonjour</ns2:phrase></ns1:key><ns1:value xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"; ns2:type="xsd:string">Fred</ns1:value></ns1:entry><ns1:entry><ns1:key xmlns:ns2="http://rest.greeter.samples.dosgi.cxf.apache.org"; xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"; ns3:type="ns2:GreetingPhrase"><ns2:phrase>Hoi</ns2:phrase></ns1:key><ns1:value xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"; ns2:type="xsd:string">Fred</ns1:value></ns1:entry><ns1:entry><ns1:key xmlns:ns2="http://rest.greeter.samples.dosgi.cxf.apache.org"; xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"; ns3:type="ns2:GreetingPhrase"><ns2:phrase>Hola</ns2:phrase></ns1:key><ns1:value xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"; ns2:type="xsd:string">Fred</ns1:value></ns1:entry><ns1:entry><ns1:key xmlns:ns2="http://rest.greeter.samples.dosgi.cxf.apache.org"; xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"; ns3:type="ns2:GreetingPhrase"><ns2:phrase>Hello</ns2:phrase></ns1:key><ns1:value xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"; ns2:type="xsd:string">Fred</ns1:value></ns1:entry></ns1:anyType2anyTypeMap>

it complains no type mapping is found

I've run a simple frontend based demo and the same Map is serialized as

<ns1:greetMeResponse xmlns:ns1="http://greeter.samples.dosgi.cxf.apache.org/";><ns1:return><ns1:entry><ns1:key><ns2:phrase xmlns:ns2="http://greeter.samples.dosgi.cxf.apache.org";>Bonjour</ns2:phrase></ns1:key><ns1:value>Fred</ns1:value></ns1:entry><ns1:entry><ns1:key><ns2:phrase xmlns:ns2="http://greeter.samples.dosgi.cxf.apache.org";>Hoi</ns2:phrase></ns1:key><ns1:value>Fred</ns1:value></ns1:entry><ns1:entry><ns1:key><ns2:phrase xmlns:ns2="http://greeter.samples.dosgi.cxf.apache.org";>Hola</ns2:phrase></ns1:key><ns1:value>Fred</ns1:value></ns1:entry><ns1:entry><ns1:key><ns2:phrase xmlns:ns2="http://greeter.samples.dosgi.cxf.apache.org";>Hello</ns2:phrase></ns1:key><ns1:value>Fred</ns1:value></ns1:entry></ns1:return></ns1:greetMeResponse>

So is it possible to simplify the serialization somehow when Aegis is used by JAXRS ? If not then how can I make the above map being deserialized on the client side ? Benson, do you reckon it is even possible for Map ?

thanks, Sergey

Reply via email to