Just run the web application from Visual Studio and you should be presented with a mostly empty metadata page

I don’t know about your requirements, but when I make web services it often involves me taking data from over here and shoving it down some HTTP tubes over there. ServiceStack makes this workflow really easy.

Viewing your Web Services

That is all it takes to make a service. Yes really, check this out! Run the web project and navigate to the metadata page. It should look similar to what you saw before but now there is a listing with your new service and the various formats that it supports.

The Metadata page contains:

A list of all your webservices and the endpoints they are available on.

A list of coding examples showing you how to call each endpoint a number of different ways.

Links to all the XSD types used by your web services

Links to the web services SOAP 1.1 / 1.2 WSDLs

Click on one of those metadata links like the one for JSON and you should see a nice quick description of how to interact with the service.

This is awesome! Now go make a call to the service: /authenticate. If you are calling a GET method (which is not provided in this sample) you get a nice default HTML view of the data, very handy for a quick look at your output. ServiceStack relies on HTTP header information to determine the right content type. Your browser wants HTML so ServiceStack complies. You can easily override this, try /authenticate?format=json .

Calling Web Services from Fiddler

If we are calling a GET method then we can directly use browser, but in case of POST, PUT or DELETE operations we can use tools like fiddler

In the above example, in order to call authenticate operation, we need to send AuthenticateRequest information to service

From the service metadata we can get a complete description about the request and response structures. For example for JSON request, we can see the sample request and response as mentioned below

Type the URL, request body and request content under composer tab and click on execute button

If you would like to invoke this operation from a desktop client, write the following code to do so