0
我正在與Spreedly合作,而且我正在運行我認爲是小問題。使用C#發送WebRequest到Spreedly時出錯:(422)無法處理的實體
對於我的生活,爲什麼我的代碼不正確地送我的背景,我不明白...
這是我的代碼(憑證已被更改),返回錯誤(422)處理的實體,我只能假設它意味着正在發送的XML有問題,但是當我設置一個斷點時它似乎是正確的。
string url = "https://core.spreedly.com/v1/gateways.xml";
WebRequest request = WebRequest.Create(url);
request.ContentType = "Content-type: application/xml";
request.Method = "POST";
request.Credentials = new NetworkCredential("Ll6fAtoVSTyVMlJEmtpoJV8Shw5", "RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSylzM2ZzTWFwVH4ucG");
XElement xelement = new XElement("gateway", new XElement("gateway_type", "test"));
byte[] buffer = Encoding.UTF8.GetBytes(xelement.ToString());
request.ContentLength = buffer.Length;
Stream reqstr = request.GetRequestStream();
reqstr.Write(buffer, 0, buffer.Length);
reqstr.Close();
WebResponse response = request.GetResponse();
我不經常使用WebRequest,因此我錯過了一些簡單的東西並不合理。
Spreedly保留其文件here。
的例子是捲曲,說我應該發送以下內容:
$ curl https://core.spreedly.com/v1/gateways.xml \
-u 'Ll6fAtoVSTyVMlJEmtpoJV8Shw5:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSylzM2ZzTWFwVH4ucG' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>test</gateway_type>
</gateway>'
任何幫助將不勝感激。
謝謝。
你可能要考慮兩個Github上回購之一,而不是重塑在C#中輪:https://github.com/malixsys/Spreedly.Net和https: //github.com/philjones88/SpreedlyCoreSharp都實現了你要查找的大部分功能 – hross