Explore Courses Blog Tutorials Interview Questions
0 votes
in Salesforce by (11.9k points)

When I add an object using AddBody:

var request = new RestRequest( Method.POST);

request.RequestFormat = DataFormat.Xml;

request.AddHeader("X-SFDC-Session", loginresult.SessionID);

var ji = new jobInfo { operation = "insert", @object = "contact", contentType = "CSV" };

request.AddBody(ji, xmlns);

Salesforce rejects it with this error message:

Unsupported content-type: text/XML

... presumably, because behind the scenes RestSharp is interpreting request.RequestFormat = DataFormat.Xml; as "text/XML".

By fiddling around with the Salesforce API I have discovered that it wants "application/xml" instead of "text/xml".

Is there a supported way to make RestSharp send "application/xml" instead?

1 Answer

0 votes
by (32.1k points)

From the documentation here


If this parameter is set, its value will be sent as the body of the request. Only one RequestBody Parameter is accepted – the first one.

The name of the parameter will be used as the Content-Type header for the request.

So from this documentation:

var ji = new jobInfo { operation = "insert", @object = "contact", contentType = "CSV" };

var jiSerialized = /* Serialize ji to XML format */

request.AddParameter(new Parameter


    Name = "application/xml",

    Type = ParameterType.RequestBody,

    Value = jiSerialized 


Browse Categories