tags:

views:

2097

answers:

6

There is a similar question here but it only covers some of the issues below.

We have a client who requires web services using REST.

We have tons of experience using SOAP and over time have gathered together a really good set of tools for SOAP development and testing e.g.

  • soapUI
  • Eclipse plugins
  • wsdl2java
  • WSStudio

By "tools" I mean a product "out of the box" that we can start using. I'm not talking about cutting code to "roll our own" using Ajax or whatever.

The tool set for REST doesn't seem to be nearly as mature?

  • What tools are out there (we use C# and Java mainly) ?

  • Do the tools handle GET, POST, PUT, and DELETE?

  • Is there a decent Eclipse plugin?

  • Is there a decent client testing application like WSStudio where you point the tool to the WSDL and it generates a proxy on the fly with the appropriate methods and inputs and you simple type the data in?

  • Are there any good package monitoring tools that allow you to look at the data? (I'm not thinking about sniffers like Wireshark here but rather things like soapUI that allow you to see the request / response) ?

+2  A: 

In terms of Java, there is the JAX-RS API, which is the Java Api for Xml using Restful Services or something like that. Basically, JAX-RS provides a more standard way to build RESTful services in Java.

There is also Restlet, which allows easily development of Restful services and is based on the JAX-RS specification.

Also, checkout SOAP-UI which has recently added nice support for REST.

http://www.restlet.org/

http://jcp.org/en/jsr/detail?id=311 - JAX-RS

http://www.eviware.com/content/view/134/1/ - SOAP-UI

Mark
+1  A: 

Hi Mark,

I'd like to underline that the Restlet project supports two APIs to develop RESTful applications:

  • Core Restlet API : class-based, client and server-side, multi-protocol, very large features scope
  • JAX-RS API : annotation-based, only server-side, smaller features scope

Restlet can deploy in Servlet containers, standalone (pure JVM), in GWT for the client-side, in Spring, in Mule ESB or in OSGi containers. Here is the complete list of features.

Best regards,

Jerome Louvel

Jerome Louvel
Thanks Jerome, good points.
Mark
Surely the question is about tools, not about APIs.
Peter Hilton
+4  A: 

For starters, you need a tool that lets you construct an arbitrary HTTP request (including headers such as content-type, HTTP method, HTTP authentication and request body) and inspect the HTTP response (including status code, headers and response body). It's nice if it's scriptable tool.

Have a look at:

To auto-generate a proxy I guess you are looking for something that parses WADL, the REST answer to WSDL. Unfortunately, I do not know anything like that.

Peter Hilton
Just for completeness, soapUI seems to have added WADL support.
wwerner
A: 

SOA Cleaner, is a test tool that tests both soap and rest (also WCF, but it seems you don't need that feature). It's very intuative, and usable. Written in .NET. A free version is also available. can be downloaded from http://xyrow.com. Good luck!

Clangon
+1  A: 

Hi, I found a nice Firefox plugin called Poster that allows you to act as a REST client similar to rest-client and the others. I wish it would render the response to a firefox tab (rather than a custom output window) so any returned XML could be colorized by Firefox's awesome syntax highlighting. But overall seems to work OK.

Update: Oh, even better. I found another firefox plugin callsed RestClient https://addons.mozilla.org/en-US/firefox/addon/9780. This seems to do the syntax highlighting.

Joe J
A: 

In terms of a client testing application, I had a similar problem. I couldn't find a tool that I could use to quickly test data going in and out of the web services I was creating/using. So I created my own tool using C# .NET. It's essentially a client application that you can use for GET, POST, PUT, and DELETE queries on rest services.

The software is called REST Scratch Pad. It lets you enter the data to send to the REST service and view the results of queries along with their headers and response times. It will handle basic authentication and will remember the URLs you've used in prior sessions (to avoid having to re-type long URLs).

The current version is free. The next version will use a newer version of .NET and cover more authentication methods.

REST ScratchPad: http://restscratchpad.com/download

Netrist