[英]Post xml using HttpClient in C#
將xml文件從客戶端傳遞到api時遇到問題。 我使用HttpClient進行連接。 我的代碼:
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
/*var serializer = new XmlSerializer(typeof(InitUploadType));
serializer.Serialize(data);*/
XmlDocument doc = new XmlDocument();
doc.Load("initupload-sign.xml");
WebRequestHandler handler = new WebRequestHandler();
X509Certificate2 certificate = new X509Certificate2("cert.crt");
handler.ClientCertificates.Add(certificate);
HttpClient client = new HttpClient(handler);
client.BaseAddress = new Uri("https://test-e-dokumenty.mf.gov.pl");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
var response = client.PostAsJsonAsync<XmlDocument>("/api/Storage/InitUploadSigned", doc).Result;
return response.ToString();
我收到錯誤請求400。
你可以試試下面我修改過的代碼嗎?
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
/*var serializer = new XmlSerializer(typeof(InitUploadType));
serializer.Serialize(data);*/
XmlDocument doc = new XmlDocument();
doc.Load("initupload-sign.xml");
WebRequestHandler handler = new WebRequestHandler();
X509Certificate2 certificate = new X509Certificate2("cert.crt");
handler.ClientCertificates.Add(certificate);
HttpClient client = new HttpClient(handler);
client.BaseAddress = new Uri("https://test-e-dokumenty.mf.gov.pl");
client.Headers.Set("Content-Type", "application/xml");
var response = client.UploadString(path, doc.OuterXml);
return response.ToString();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.