OK, I understand the status here
And yes indeed, a REST client factory would very valuable to this project :)

Anyway I'll keep an eye on the development status


On Mon, Jun 30, 2008 at 22:37, Sergey Beryozkin <[EMAIL PROTECTED]>
wrote:

> Ok, I see what you mean know.
> To be honest, I haven't even thought about the client side yet.
> I'm wondering if the Jersey Client API will eventually get standardized ?
> In meantime, providing a simpler JAXRSClientFactoryBean for CXF would
> definitely be worth it, thanks for raising this issue. The only thing is
> that I'm not sure when I can get to doing some work in this area - for now
> it's just about JAX-RS server side and all the related things...
>
> Thanks, Sergey
>
> -----Original Message-----
> From: Brice [mailto:[EMAIL PROTECTED]
> Sent: 30 June 2008 18:06
> To: [email protected]
> Subject: Re: About annotation inheritance, and HTTP properties
>
> >
> > Ok, so to have a REST client we can use the following code in Java.
> > ==============================
> >>
> >> =======================
> >> JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
> >> sf.setServiceClass(RestService.class);
> >> sf.getServiceFactory().setWrapped(false);
> >>
> >>
> sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
> >> // Allow the client to understand Rest
> >> sf.setAddress("http://localhost:8080/xml/";);
> >> CustomerService cs = (CustomerService)sf.create();
> >> =====================================================
> >>
> >
> >
> > Looks like this time you're looking at the CXF-private HttpBinding - this
> > is completely orthogonal to what CXF JAX-RS offers and it's not well
> > mantained.
> >
>
> Yes, I know this way of building a REST client is a bit tricky, but there
> is
> no other that I know about.
> As I didn't yet looked at the client with jaxrs annotations, mine is still
> based on the jra project from codehaus, maybe this client wont be able to
> understand or process the jaxrs annotations.
>
> Is there a JaxRsClientFactoryBean project on the way, this is really a
> missing component in CXF as REST is becoming more popular (and for good
> reasons).
>
>
> On Mon, Jun 30, 2008 at 18:29, Sergey Beryozkin <[EMAIL PROTECTED]
> >
> wrote:
>
> > Hi Brice
> >
> >> Ok, I understand better the case, I just read in surface the
> >> specification,
> >> I am not well aware then of those recommendations.
> >> I only saw that the jaxrs annotations are not annotated with @Inherited,
> >> but
> >> it's okay if CXF implementation do the job to check the interfaces. I
> hope
> >> this will be integrated as soon as possible to avoid bad programmation
> >> behavior.
> >>
> >
> > ok
> >
> >
> >> Sorry I mixed up things yesterday night. I was thinking about Timeouts
> >> Well our application should be coherent in the way that the integrators
> >> should only have properties file to modify.
> >>
> >> Here's a Spring configuration that works well, the timeouts are
> correctly
> >> set on the conduit
> >> =====================================================
> >> <bean id="conf"
> >>
> >>
>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigure
> r"/>
> >>
> >> <http-conf:conduit name="*RestService.http-conduit" >
> >>   <http-conf:client
> >>       ReceiveTimeout="5000"
> >>       ConnectionTimeout="5000"
> >>       />
> >>
> >>   <http:authorization>
> >>       <sec:UserName>usernamehere</sec:UserName>
> >>       <sec:Password>passwordhere</sec:Password>
> >>   </http:authorization>
> >> </http-conf:conduit>
> >> =====================================================
> >>
> >> But if I want to use properties like that
> >> =====================================================
> >>   <http-conf:client
> >>       ReceiveTimeout="${http.receive.timeout}"
> >>       ConnectionTimeout="${http.connection.timeout}"
> >>       />
> >> =====================================================
> >> Then the xml declaration is no more valid because the properties
> datatype
> >> should be unsignedInteger.
> >>
> >>
> > This sounds reasonable, it's not a  CXF JAX-RS though. Perhaps Dan or
> > someone else can look at your proposal
> > in more details...
> >
> >
> >>>
> >>>
> >>>> And last question, do you plan to create JAXRSClient factory bean,
> right
> >>>> know using the JaxWsPRoxyFactoryBean is a bit intricate when declaring
> >>>> it
> >>>> in
> >>>> a Spring application context and setting properties like setWrapped.
> >>>>
> >>>>
> >>> Please expand on it a bit more too.
> >>>
> >>
> >>
> >> Ok, so to have a REST client we can use the following code in Java.
> >> =====================================================
> >> JaxWsProxyFactoryBean sf = new JaxWsProxyFactoryBean();
> >> sf.setServiceClass(RestService.class);
> >> sf.getServiceFactory().setWrapped(false);
> >>
> >>
> sf.getClientFactoryBean().setBindingId(HttpBindingFactory.HTTP_BINDING_ID);
> >> // Allow the client to understand Rest
> >> sf.setAddress("http://localhost:8080/xml/";);
> >> CustomerService cs = (CustomerService)sf.create();
> >> =====================================================
> >>
> >
> >
> > Looks like this time you're looking at the CXF-private HttpBinding - this
> > is completely orthogonal to what CXF JAX-RS offers and it's not well
> > mantained.
> >
> > Cheers, Sergey
> >
> >
> >
> >
> >> However if I want to create a Spring bean of this service (without
> >> creating
> >> a custom BeanFactory), we need to look into the factory to set some
> >> properties like the "wrapped" one
> >> =====================================================
> >> <bean id="serviceFactory"
> >> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> >>   <property name="wrapped" value="false" />
> >> </bean>
> >> <bean id="clientFactoryBean"
> >> class="org.apache.cxf.jaxws.JaxWsClientFactoryBean">
> >>   <property name="serviceFactory" ref="serviceFactory" />
> >>   <property name="serviceClass" value="com.rest.tryout.RestService" />
> >> </bean>
> >> <bean id="restServiceProxyFactory"
> >> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> >>   <property name="clientFactoryBean" ref="clientFactoryBean" />
> >>   <property name="address" value="${server.http.address}" />
> >>   <property name="bindingId">
> >>       <util:constant
> >>
> >>
>
> static-field="org.apache.cxf.binding.http.HttpBindingFactory.HTTP_BINDING_ID
> "
> >> />
> >>   </property>
> >> </bean>
> >>
> >> <bean id="restServiceClient"
> >>   class="com.rest.tryout.RestService"
> >>   factory-bean="restServiceProxyFactory"
> >>   factory-method="create" />
> >> =====================================================
> >>
> >> I was mentionning the intricacy of this declaration, and I did this work
> >> while still on 2.0.5, however I believe the Spring jaxrs bean
> declarations
> >> still doesn't propose to set such properties.
> >>
> >>
> >>
> >>
> >>> Cheers, Sergey
> >>>
> >>>
> >>>
> >>>> Thx in advance for your answers.
> >>>>
> >>>> Btw CXF is really a Great work :)
> >>>>
> >>>> --
> >>>> Brice Dutheil
> >>>>
> >>>>
> >>>>  ----------------------------
> >>> IONA Technologies PLC (registered in Ireland)
> >>> Registered Number: 171387
> >>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4,
> Ireland
> >>>
> >>>
> >>
> >>
> >> --
> >> Brice Dutheil
> >>
> >>
> > ----------------------------
> > IONA Technologies PLC (registered in Ireland)
> > Registered Number: 171387
> > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
> >
>
>
>
> --
> Bryce
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>



-- 
Brice Dutheil

Reply via email to