Sergey,
I just wonder if you had a chance to implement this in 2.2.5?

Thanks,
-Vitaly 


Sergey Beryozkin-2 wrote:
> 
> You can still do it even now, but it will require you to do some manual
> coding.
> You can register a ParameterHandler<ExecuteRequest> and then parse a query
> string from within that handler and populate an 
> ExecuteRequest instance accordingly... But I'll see if I can enhance the
> implementation a bit till tomorrow evening
> 
> Sergey
> 
>>
>> 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&params.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&params=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&params.param1=a&params.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.
>> 
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/CXF-REST-Map%3CString%2C-String%3E-as-argument-can-it-handle-it--tp26312629p26586725.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to