我想發佈json數據到web服務。httpResponse 401未授權
這裏是方法:
public static Int32 SaveCashSale(string username, string key, CashSale cashSale)
{
try
{
// Customize URL according to geo location parameters
var url = string.Format(cashSaleUrl, username, key);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string jsonData = new JavaScriptSerializer().Serialize(new
{
activity_date = cashSale.activity_date = DateTime.Now.ToString(),
added_by = cashSale.added_by,
amount_paid = cashSale.amount_paid,
balance = cashSale.balance,
currency = cashSale.currency,
customer = cashSale.customer,
grand_total = cashSale.grand_total,
});
streamWriter.Write(jsonData);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
}
}
catch (WebException ex)
{
using (WebResponse response = ex.Response)
{
var httpResponse = (HttpWebResponse)response;
using (Stream data = response.GetResponseStream())
{
StreamReader sr = new StreamReader(data);
throw new Exception(sr.ReadToEnd());
}
}
}
catch (Exception)
{
throw;
}
}
該系統下面的錯誤消息: 遠程服務器返回錯誤(401)未授權。
這行代碼:
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
的URL fomrmat是:
private const string cashSaleUrl = "http://avaris.kwekud.com/api/v1/sales/cashsale/?username={0}&api_key={1}&format=json";
爲什麼錯誤,以及我怎樣才能解決呢?
你有某種授權?也許在web.config? –
@PatrickHofman不,它是一個Windows應用程序。所以沒有web配置文件。 – Djama
一個web.config用於web服務器(因此命名爲'web') –