我试图通过使用RESTSHARP在HP-ALM上发布一个实体。到目前为止,我成功地进行了身份验证,得到了一些很好的响应。但是,不知怎么的,对于我发送的每一个帖子请求,我都会得到这样的回复:
Qccore.General-错误不支持媒体类型
这是我所做的许多试验之一(为了发布一个缺陷)。这里有什么不对劲的地方吗?
private RestRequest createPOSTRequest()
{
RestRequest Request = m_client.CreateRequest(m_client.BaseUrl +
"rest/domains/{domain}/projects/{project}/{entity-type}", Method.POST);
Request.AddUrlSegment("domain", m_client.domain);
Request.AddUrlSegment("project", m_client.project);
Request.AddUrlSegment("entity-type", "defects");
Request.AddHeader("Content-Type", "application/xml");
Request.AddHeader("Accept", "application/xml");
Request.RequestFormat = DataFormat.Xml;
m_xmlBody = = @"<?xml version='1.0' encoding='UTF-8'? encoding='UTF-8' standalone='yes'?>"+
"<Entity Type='defect'>"+
"<Fields>" +
"<Field Name='detected-by'>"+
"<Value>sa</Value>"+
"</Field>"+
"<Field Name='creation-time'>"+
"<Value>2010-03-02</Value>"+
"</Field>"+
"<Field Name='severity'>"+
"<Value>2-Medium</Value>"+
"</Field>"+
"<Field Name='name'>"+
"<Value>Defect Entity.</Value>"+
"</Field>"+
"</Fields>"+
"</Entity>";
return Request;
}谢谢。
发布于 2014-08-31 12:56:46
Content-Type不能正确地与AddHeader一起工作。
解here.
实现这一目标的方法是使用AddBody()和RestRequest.RequestFormat。举个例子: var client =新RestClient();// client.XmlSerializer =新XmlSerializer();// default / client.XmlSerializer =新SuperXmlSerializer();//可以用ISerializer var request =新RestRequest()的任何实现覆盖;request.RequestFormat = DataFormat.Xml;request.AddBody(objectToSerialize);
https://stackoverflow.com/questions/25592130
复制相似问题