Click here to Skip to main content
15,940,271 members
Please Sign up or sign in to vote.
4.50/5 (2 votes)
See more:
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.
Updated 29-Mar-11 13:27pm
HimanshuJoshi 29-Mar-11 19:28pm    
Edited to improve readability.

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;
Share this answer
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"));
Share this answer
cechode 1-Apr-11 19:52pm    
Awsome! many thanks. works like a charm

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

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900