windowsphone visual restresponse instalar consume .net xml restsharp

.net - restresponse - restsharp visual basic



Cómo agregar texto para solicitar cuerpo en RestSharp (2)

A continuación, se indica cómo agregar cadena xml simple al cuerpo de la solicitud:

req.AddParameter("text/xml", body, ParameterType.RequestBody) ;

Estoy tratando de usar RestSharp para consumir un servicio web. Hasta ahora todo ha ido muy bien (¡saludos a John Sheehan y todos los colaboradores!) Pero me he encontrado con un problema. Digamos que quiero insertar XML en el cuerpo de mi RestRequest en su forma ya serializada (es decir, como una cadena). ¿Hay una forma fácil de hacer esto? Parece que la función .AddBody () lleva a cabo la serialización detrás de las escenas, por lo que mi cadena se está convirtiendo en <String /> .

¡Cualquier ayuda es muy apreciada!

EDITAR: se solicitó una muestra de mi código actual. Vea abajo --

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; }


Para agregar a la respuesta de @ dmitreyg y al comentario de @jrahhali a su respuesta, en la versión actual, a partir del momento en que se publica es v105.2.3 , la sintaxis es la siguiente:

request.Parameters.Add(new Parameter() { ContentType = "application/json", Name = "JSONPAYLOAD", // not required Type = ParameterType.RequestBody, Value = jsonBody }); request.Parameters.Add(new Parameter() { ContentType = "text/xml", Name = "XMLPAYLOAD", // not required Type = ParameterType.RequestBody, Value = xmlBody });