Jan Jongboom
Jan Jongboom

Reputation: 27323

Consuming WCF REST service in multiple ways (.Net, plain XML)

I have become quite frustrated of WCF as I just want to use this simple scenario:

  1. Provide a webservice using REST, with a UriTemplate like /method/{param1}/{param2}/ and a 3th parameter that is sent to the service as XML as POST data.
  2. Use just plain XML, no SOAP overhead.
  3. Be able to generate a proxy in Visual Studio so a .Net using client can easily use the service (don't care about SOAP overhead here).

I can create 1. and 2. but no way I can use 3. I tried adding both webHttpBinding and basicHttpBinding endpoints in my services config; I fooled around with the <services/> tag, but I just can't get this working. What am I missing here?!

N.B. I checked out this article: REST / SOAP endpoints for a WCF service but nothing what is described there seems to work here?!

Upvotes: 1

Views: 2049

Answers (1)

Darrel Miller
Darrel Miller

Reputation: 141994

You cannot generate a client proxy for a webHttpBinding and basicHttpBinding uses SOAP. There is no way around this. The question you are referring to enables both bindings. You cannot cherry-pick the features you like from each binding.

However, why would you want to create a client proxy? Using the Microsoft.Http library, calling your service is as simple as,

var client = new HttpClient();
var content = HttpContent.Create(myXmlDocument);
client.Post("http://example.org/param1/param2",content)

Upvotes: 1

Related Questions