我试图使用RestSharp消费一个Web服务。到目前为止一切都很好(对约翰·希恩和所有贡献者的欢呼),但我遇到了一个障碍。说我想要插入XML到我已经序列化形式(即,作为一个字符串)的RestRequest的正文。有没有一个简单的方法来做到这一点?看来.AddBody()函数在幕后进行序列化,所以我的字符串变成“”。
任何帮助是极大的赞赏!
编辑:请求我当前代码的示例。见下文 –
private T ExecuteRequest<T>(string resource,RestSharp.Method httpMethod,IEnumerable<Parameter> parameters = null,string body = null) where T : new() { RestClient client = new RestClient(this.BaseURL); RestRequest req = new RestRequest(resource,httpMethod); // Add all parameters (and body,if applicable) to the request req.AddParameter("api_key",this.APIKey); if (parameters != null) { foreach (Parameter p in parameters) req.AddParameter(p); } if (!string.IsNullOrEmpty(body)) req.AddBody(body); // <-- ISSUE HERE RestResponse<T> resp = client.Execute<T>(req); return resp.Data; }
以下是如何向请求正文添加纯XML XML字符串:
req.AddParameter(“text / xml”,body,ParameterType.RequestBody);