最近对接中信银行e管家接口,有个错误信息是:{"code":"OLR0152","data":"","message":"NLR0306 未查询到此应用配置,请确认商户编号及交易码!"}这种情况是没有加请求头的原因,需要请求头和请求值xml分开上传
try
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(INTERFACE_URL);
webRequest.Method = "POST";
webRequest.ContentType = "application/xml;charset=utf-8";
//请求头:
webRequest.Headers["merchantNo"] = PaymentConfigInfo["MerchantID"].ToString();
webRequest.Headers["tranCode"] = trancode;
webRequest.Headers["serialNo"] = CommonFunction.GetNewGUID();
webRequest.Headers["tranTmpt"] = DateTime.Now.ToString("yyyy-MM-dd-HH.mm.ss.ffffff");
webRequest.Headers["version"] = "v1";
//请求值:
// 构建XML数据
string xmlData = data;
byte[] byteArray = Encoding.UTF8.GetBytes(xmlData);
// 将XML数据添加到请求的ContentLength属性中
webRequest.ContentLength = byteArray.Length;
// 将XML数据写入请求流中
using (Stream dataStream = webRequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
}
// 发送请求并获取响应
string responseBody = null;
using (HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
responseBody = reader.ReadToEnd();
}
return responseBody;
}
catch (Exception ex)
{
throw ex;
}