Click here to Skip to main content
11,796,393 members (77,173 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: WCF C#4.0 REST
For the life of me I can not find a way to remove the automatically generated portion of my Get method.
given following code
[WebGet(UriTemplate = "{id}", BodyStyle=WebMessageBodyStyle.Bare, ResponseFormat=WebMessageFormat.Xml)]
public string Get(string id) {
return "blah";

I get following response.
<string xmlns="">blah</string>

How can I get just "blah".
Many Thanks.
Posted 29-Mar-11 12:54pm
Edited 29-Mar-11 13:27pm
HimanshuJoshi at 29-Mar-11 19:28pm
Edited to improve readability.
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

I think this will work, note the Stream as return argument.
[WebGet(UriTemplate = "{id}", BodyStyle = WebMessageBodyStyle.Bare)]
public Stream Get(string id)
  OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse;
  context.ContentType = "text/plain";
  return new System.IO.MemoryStream(ASCIIEncoding.Default.GetBytes("blah"));
cechode at 1-Apr-11 19:52pm
Awsome! many thanks. works like a charm
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Instead of changing the method signature, I would do this:

HttpWebResponse restResponse = (HttpWebResponse)restRequest.GetResponse();
string value = null;
using (var st = restResponse.GetResponseStream())
    StreamReader sr = new StreamReader(st);
    value = sr.ReadToEnd();
XmlDocument doc = new XmlDocument();
value = doc.InnerText;

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Maciej Los 570
1 Abhinav S 392
2 OriginalGriff 340
3 CPallini 269
4 KrunalRohit 249
0 OriginalGriff 2,012
1 Maciej Los 1,615
2 KrunalRohit 1,310
3 CPallini 1,015
4 Richard MacCutchan 828

Advertise | Privacy | Mobile
Web02 | 2.8.151002.1 | Last Updated 29 Aug 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100