how to call rest service from within an ESB process?

Posted by discovlad on 12-Mar-2010 01:30

Is it possible to send HTTP Post from within  ESB process? I know how to do for WSDL invocation but I cannot seem to find an answer for REST or basic POST. I have configured HTTP Direct outbound routing defintion in SMC, however, routing defintion is not a topic so you cannot post to it form within the process.  So the only solutin seems to be writting REST call in java and deploy it as a service of ESB. Is that right?

All Replies

Posted by tsteinbo on 17-Mar-2010 05:42

If you are on 7.x then sending a JMS message either to the routing node you defined ("rnName::something") by way of an ESB endpoint (which is the exit EP of your process or a callout from within a service) you can do POSTs. You can also directly send to an URL by using the URL as the destination of e.g. the publisher, e.g. createPublisher("http://my.dest/ext") from JMS or as destination for the endpoint.

In 8.0 you will find full REST support including all other verbs and not just POST. It is due to be released on a few weeks.

Thomas

Posted by Bill Wood on 11-Apr-2010 06:53

discovlad wrote:

... however, routing defintion is not a topic so you cannot post to it form within the process...

You can create an endpoint with a Topic (or Queue) that equals the URL you are going to (e.g. Destination Name = "http://abc.com/base/resource/12") and then send a single part message to it.  This will go through routing to the appropriate destination.  You probably want to listen for the reply, so this would be an Endpoint call.

NOTE: if the URL is large or dynamic, you could also use the X-HTTP-DestinationURL property.

This thread is closed