You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by javakurious <ja...@gmail.com> on 2012/08/07 23:36:59 UTC
exposing same REST service as both GET and POST
Based on the example in http://camel.apache.org/cxfrs.html cxfrs example
with camel , I created a REST service exposed as GET operation. Here is the
overview of what I have so far :
REST endpoint in Camel:
<cxf:rsServer id="custmoer-rest-get-server"
address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
And the corresponding resource class used to configure the endpoint...
CustomerGETImpl
@GET
@Path("/Customer")
@Produces("text/xml")
@Override
public Response getCustomer(@QueryParam("CustomerName") String
customerName)
}
It works fine.
My question is if I have to expose the same service as POST as well, what do
I have to do ?
I did the following :
1)Added additional REST endpoint in Camel:
<cxf:rsServer id="custmoer-rest-get-server"
address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
<cxf:rsServer id="custmoer-rest-post-server"
address="/" serviceClass="com.personal.test.impl.CustomerPOSTImpl"/>
2)Created a new corresponding resource class used to configure the
endpoint...
CustomerPOSTImpl
@POST
@Path("/Customer")
@Produces("text/xml")
@Override
public Response getCustomer(@FormParam("CustomerName") String
customerName)
}
If I deploy this configuration, the POST works but GET return status 405.
Can anybody shed some light on what I am doing wrong.
Thanks
--
View this message in context: http://camel.465427.n5.nabble.com/exposing-same-REST-service-as-both-GET-and-POST-tp5716952.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: exposing same REST service as both GET and POST
Posted by javakurious <ja...@gmail.com>.
Thanks a lot. That worked !
On Wed, Aug 8, 2012 at 4:27 AM, Sergey Beryozkin-3 [via Camel] <
ml-node+s465427n5716972h98@n5.nabble.com> wrote:
> Hi
> On 08/08/12 00:36, javakurious wrote:
>
> > Based on the example in http://camel.apache.org/cxfrs.html cxfrs
> example
> > with camel , I created a REST service exposed as GET operation. Here is
> the
> > overview of what I have so far :
> >
> > REST endpoint in Camel:
> > <cxf:rsServer id="custmoer-rest-get-server"
> > address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
> >
> > And the corresponding resource class used to configure the endpoint...
> >
> > CustomerGETImpl
> > @GET
> > @Path("/Customer")
> > @Produces("text/xml")
> > @Override
> > public Response getCustomer(@QueryParam("CustomerName") String
> > customerName)
> > }
> >
> > It works fine.
> >
> > My question is if I have to expose the same service as POST as well,
> what do
> > I have to do ?
> >
> > I did the following :
> >
> > 1)Added additional REST endpoint in Camel:
> > <cxf:rsServer id="custmoer-rest-get-server"
> > address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
> > <cxf:rsServer id="custmoer-rest-post-server"
> > address="/" serviceClass="com.personal.test.impl.CustomerPOSTImpl"/>
> >
>
> This is unlikely to work correctly given both servers are not related to
> each other but have the same relative address
>
> > 2)Created a new corresponding resource class used to configure the
> > endpoint...
> >
> > CustomerPOSTImpl
> > @POST
> > @Path("/Customer")
> > @Produces("text/xml")
> > @Override
> > public Response getCustomer(@FormParam("CustomerName") String
> > customerName)
> > }
> >
> > If I deploy this configuration, the POST works but GET return status
> 405.
> >
> > Can anybody shed some light on what I am doing wrong.
> >
> Try having a single service implementation with GET & POST handlers,
> that should work
>
> Cheers, Sergey
>
> > Thanks
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/exposing-same-REST-service-as-both-GET-and-POST-tp5716952.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/exposing-same-REST-service-as-both-GET-and-POST-tp5716952p5716972.html
> To unsubscribe from exposing same REST service as both GET and POST, click
> here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5716952&code=amF2YWt1cmlvdXNAZ21haWwuY29tfDU3MTY5NTJ8MjA2MzM2NjAxNw==>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
--
View this message in context: http://camel.465427.n5.nabble.com/exposing-same-REST-service-as-both-GET-and-POST-tp5716952p5717559.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: exposing same REST service as both GET and POST
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
On 08/08/12 00:36, javakurious wrote:
> Based on the example in http://camel.apache.org/cxfrs.html cxfrs example
> with camel , I created a REST service exposed as GET operation. Here is the
> overview of what I have so far :
>
> REST endpoint in Camel:
> <cxf:rsServer id="custmoer-rest-get-server"
> address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
>
> And the corresponding resource class used to configure the endpoint...
>
> CustomerGETImpl
> @GET
> @Path("/Customer")
> @Produces("text/xml")
> @Override
> public Response getCustomer(@QueryParam("CustomerName") String
> customerName)
> }
>
> It works fine.
>
> My question is if I have to expose the same service as POST as well, what do
> I have to do ?
>
> I did the following :
>
> 1)Added additional REST endpoint in Camel:
> <cxf:rsServer id="custmoer-rest-get-server"
> address="/" serviceClass="com.personal.test.impl.CustomerGETImpl"/>
> <cxf:rsServer id="custmoer-rest-post-server"
> address="/" serviceClass="com.personal.test.impl.CustomerPOSTImpl"/>
>
This is unlikely to work correctly given both servers are not related to
each other but have the same relative address
> 2)Created a new corresponding resource class used to configure the
> endpoint...
>
> CustomerPOSTImpl
> @POST
> @Path("/Customer")
> @Produces("text/xml")
> @Override
> public Response getCustomer(@FormParam("CustomerName") String
> customerName)
> }
>
> If I deploy this configuration, the POST works but GET return status 405.
>
> Can anybody shed some light on what I am doing wrong.
>
Try having a single service implementation with GET & POST handlers,
that should work
Cheers, Sergey
> Thanks
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/exposing-same-REST-service-as-both-GET-and-POST-tp5716952.html
> Sent from the Camel - Users mailing list archive at Nabble.com.