O'Reilly logo

RESTful .NET by Jon Flanders

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 10. Consuming RESTful XML Services Using WCF

One important feature of WCF is that the server and client programming models are symmetrical. Unlike earlier technologies such as ASMX, a WCF service is defined the same way a WCF client is defined (i.e., via ServiceContract et al.). There is no notion in WCF of a “service binding”; there are just bindings. Bindings are used on both listening endpoints (the service) and sending endpoints (the client).

WCF 3.5 and its Web Programming Model do not change this fundamental fact concerning WCF. As in all other parts of WCF, the Web Programming Model works on the client in exactly the same way it works on the server. Throughout most of this book, we have focused on how to create RESTful services using WCF, and most of the time we’ve been using a browser or a raw-HTTP API to consume those services. Using a browser or a raw-HTTP API provides a big advantage to RESTful services in general, but it is sometimes useful to have an abstraction on top of the client programming model. In this chapter we’ll explore how to use the WCF Web Programming Model to consume RESTful services.

Defining the Client

Unlike SOAP-based services that often expose metadata (via WSDL or Mex), RESTful services don’t have any inherent metadata. This means that creating RESTful clients is generally a manual process.

Note

Many people look at the lack of metadata as one of the big downsides of REST. Others look at the lack of metadata as an upside of REST, since it makes ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required