Yes, I guess I will use POST in this case and this body does fill in my map. It would be nice to allow it on the Url as well. ie: params.k1=v1¶ms.k2=v2 etc.
<ns1:ExecuteRequest ns2:type="ns1:ExecuteRequest" xmlns:ns1="http://scripto.ports.v1.webservices.foo.com" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"> <ns1:params> <ns3:entry xmlns:ns3="urn:org.apache.cxf.aegis.types"> <ns3:key>k1</ns3:key> <ns3:value>v1</ns3:value> </ns3:entry> <ns3:entry xmlns:ns3="urn:org.apache.cxf.aegis.types"> <ns3:key>k2</ns3:key> <ns3:value>v2</ns3:value> </ns3:entry> </ns1:params> </ns1:ExecuteRequest> Sergey Beryozkin-2 wrote: > > If you pass the information as a POST body then it should work (Aegis > should handle it or JAXB + XmlJavaTypeAdapter on the field of > type Map). If you pass it as a query, something like > > ?name=scriptName¶ms=a%3DaValue%26b%3DbValue > > then no, params won't be injected into a Map...Dan is plaaning to do a > build tomorrow evening or so... I'll try to do a quick > update... > > > > cheers, Sergey > > >> >> Thanks, I understand your suggestion, however the destination of these >> params >> is a groovy script which is why I wanted to piece together params as name >> value pairs >> and map is what fits best. My understanding that passing a map is an open >> issue under CXF >> is it? >> >> >> Sergey Beryozkin-2 wrote: >>> >>> Hi, >>> >>>> >>>> Here is spring config: >>>> >>>> <jaxrs:server address="/v1/rest"> >>>> <jaxrs:serviceBeans> >>>> <ref bean="scriptoServiceBean"/> >>>> </jaxrs:serviceBeans> >>>> >>>> <jaxrs:providers> >>>> <ref bean="aegisProvider"/> >>>> </jaxrs:providers> >>>> >>>> Here is the impl method: >>>> >>>> @POST >>>> @Path("/execute") >>>> public ExecuteResult execute(@QueryParam("") ExecuteRequest req) >>>> >>>> and ExecuteRequest bean class: >>>> >>>> @XmlRootElement >>>> public class ExecuteRequest extends WSBaseRequest >>>> { >>>> private String scriptName; >>>> private Map<String, String> params; >>>> >>>> getters.. >>>> setters.. >>>> } >>> >>> It won't work, not at the moment. List<String> will be ok, provided you >>> have a query like scriptName=bar&name=a&name=b. >>> But it's not possible to 'connect' a sequence of name/value pairs with a >>> Map instance at the moment. Can you please post a sample >>> query so that I can see why you expect a Map being injected ? Also note >>> that no JAXB is involved when parameter beans are populated. >>> >>> What should work well is introducing a ParameterBean and have >>> public class ExecuteRequest extends WSBaseRequest >>> { >>> private String scriptName; >>> private ParametersBean params; >>>> >>>> getters.. >>>> setters.. >>> } >>> >>> and then do scriptName=bar¶ms.param1=a¶ms.param2=b >>> >>> where ParametersBean has setters/getters for param1 & param2 >>> >>> cheers, Sergey >>> >>>> >>>> >>>> Sergey Beryozkin-2 wrote: >>>>> >>>>> Hi >>>>> >>>>> I really need more information please. Which bean, a JAXB one, with >>>>> one >>>>> of >>>>> its fields being of Map type ? >>>>> Is it a form submission ? what is the resource method signature ? >>>>> >>>>> thanks, Sergey >>>>> >>>>>> >>>>>> Must be a simple one for anyone already done it. >>>>>> I have tried it today and couldn't figure out why it would not >>>>>> initialize my bean with a Map in it, anyone knows the trick? >>>>>> There seem to be a bug open on this, but I'm not sure if there >>>>>> is still an issue and if so is there a way to do this? >>>>>> Tried to post app xml in the POST body and on the Url all ends up >>>>>> with null set instead of the map with key value pairs. >>>>>> >>>>>> Thanks, >>>>>> -Vitaly >>>>>> -- >>>>>> View this message in context: >>>>>> http://old.nabble.com/CXF-REST-Map%3CString%2C-String%3E-as-argument-can-it-handle-it--tp26312629p26312629.html >>>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/CXF-REST-Map%3CString%2C-String%3E-as-argument-can-it-handle-it--tp26312629p26318928.html >>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>> >>> >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/CXF-REST-Map%3CString%2C-String%3E-as-argument-can-it-handle-it--tp26312629p26320714.html >> Sent from the cxf-user mailing list archive at Nabble.com. >> > > > -- View this message in context: http://old.nabble.com/CXF-REST-Map%3CString%2C-String%3E-as-argument-can-it-handle-it--tp26312629p26322286.html Sent from the cxf-user mailing list archive at Nabble.com.
