Hello Abhishek,

you can use the setProviders()-method on the JAXRSClientFactoryBean if you are 
doing this programmatically.

If you are using the JAXRSClientFactory, there are also create()-methods 
including the providers parameter.

Here is a good site about how to deal with this in any other way:

cxf.apache.org/docs/jax-rs-client-api.html


Hello Sergey,

no problem. :-)


Best regards,

Marko

Am 04.04.2012 13:41, schrieb Abhishek Sharma:
> Hi Marko,
>
> Thanks for the help, but I am doing this unmarshalling in webservice client 
> created using JAXRSClientFactoryBean.
>
> How can I add providers in the webservice client.
>
> Thanks,
> Abhishek
>
> -----Original Message-----
> From: Sergey Beryozkin [mailto:[email protected]]
> Sent: Wednesday, April 04, 2012 4:50 PM
> To: [email protected]
> Subject: Re: Unmarshalling interceptor
>
> Hi Marko,
>
> thanks for this tip, it could be an issue to deal with in scope of WS
> requests, and CXF JAXB DataBinding used by JAX-WS may already offer such
> an option,
> however, it's definitely worth updating JAXBElementProvider with the
> Listener property :-). it is possibele to set a ValidationEventHandler
> on it, but not the Listener
>
> Thanks, Sergey
> On 04/04/12 14:12, Voß, Marko wrote:
>> Hello Abhishek Sharma,
>>
>> I think this is a JAXB issue. You can register a Listener to the 
>> Unmarshaller.
>>
>> http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/Unmarshaller.html
>> http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/Unmarshaller.Listener.html
>>
>> There are also some examples in the Javadoc of the possibilities.
>>
>> In order to get this working with CXF, you need to extend the 
>> JAXBElementProvider:
>>
>> (org.apache.cxf.jaxrs.provider.JAXBElementProvider)
>>
>> Example:
>>
>> public class MyJAXBElementProvider extends JAXBElementProvider {
>>
>>      // override the methods here like:
>>      protected Unmarshaller createUnmarshaller(Class<?>   cls, Type 
>> genericType, boolean isCollection) {
>>        Unmarshaller u = super.createUnmarshaller(cls, genericType, 
>> isCollection);
>>        u.setListener(MY_LISTENER);
>>        return u;
>>      }
>> }
>>
>> Now, register the provider:
>>
>> <jaxrs:server id="RestServices" address="">
>>        <jaxrs:providers>
>>          <ref bean="MyJaxbProvider"/>
>>        </jaxrs:providers>
>> </jaxrs:server>
>>
>>
>> Best regards,
>>
>> Marko
>>
>> Am 04.04.2012 12:56, schrieb Abhishek Sharma:
>>> Hi,
>>>
>>> I've a requirement when writing a CXF client. In my webservice response I 
>>> am getting a list of myData object.
>>>
>>> Now I want some group data by iterating over the entire list. The problem 
>>> is size of the list is high so I don't want to
>>> iterate again.
>>>
>>> I know the unmarshaller used by the client is doig the same when converting 
>>> XML to object. If somehow I can intercept
>>> while unmarshal and calculate group data then I don't have to iterate.
>>>
>>> I want to see some example code using Unmarshal or Pre_Logical or 
>>> Post_Logical filter.
>>>
>>> Thanks,
>>>
>>> *Abhishek Sharma**|* -
>>>
>>> | MakeMyTrip.com, 243 SP Infocity, Udyog Vihar Phase 1, Gurgaon, Haryana - 
>>> 122 016, India
>>>
>>> http://www.mailmktg.makemytrip.com/signature/images/bulb.gif*What's new?*My 
>>> Trip Rewards - An exclusive loyalty program
>>> for MakeMyTrip customers.<https://rewards.makemytrip.com/MTR>
>>>
>>> http://www.mailmktg.makemytrip.com/signature/images/MMT-signature-footer-V4.gif<http://www.makemytrip.com/>
>>>
>>> http://www.mailmktg.makemytrip.com/signature/images/map-icon.gif
>>> <http://www.makemytrip.com/support/gurgaon-travel-agent-office.php>
>>> *Office Map*
>>>
>>>     
>>>
>>> http://www.mailmktg.makemytrip.com/signature/images/facebook-icon.gif
>>> <http://www.facebook.com/pages/MakeMyTrip-Deals/120740541030?ref=search&sid=100000077980239.1422657277..1>
>>> *Facebook*
>>>
>>>     
>>>
>>> http://www.mailmktg.makemytrip.com/signature/images/twitter-icon.gif<http://twitter.com/makemytripdeals>
>>> *Twitter*
>>>
>>
>>
>> -------------------------------------------------------
>>
>> Fachinformationszentrum Karlsruhe, Gesellschaft für 
>> wissenschaftlich-technische Information mbH.
>> Sitz der Gesellschaft: Eggenstein-Leopoldshafen, Amtsgericht Mannheim HRB 
>> 101892.
>> Geschäftsführerin: Sabine Brünger-Weilandt.
>> Vorsitzender des Aufsichtsrats: MinDirig Dr. Thomas Greiner.
>>
>>
>
>


-------------------------------------------------------

Fachinformationszentrum Karlsruhe, Gesellschaft für wissenschaftlich-technische 
Information mbH. 
Sitz der Gesellschaft: Eggenstein-Leopoldshafen, Amtsgericht Mannheim HRB 
101892. 
Geschäftsführerin: Sabine Brünger-Weilandt. 
Vorsitzender des Aufsichtsrats: MinDirig Dr. Thomas Greiner.


Reply via email to