代码之家  ›  专栏  ›  技术社区  ›  hud

远程服务器返回错误:(415)在asp.net中使用API的媒体类型不受支持

  •  1
  • hud  · 技术社区  · 6 年前

    我想使用 API 在我的申请表里。所以我像下面那样使用它

    IEIncrementalData objIncrement = new IEIncrementalData();
    IEIncrementalData[] arrIncrementData = new IEIncrementalData[1];
    
    objIncrement.SAPID = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[0].Text).Replace(" ","");
    objIncrement.SiteRFEIDate = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[8].Text).Replace(" ", "");
    objIncrement.SiteRFSDate = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[9].Text).Replace(" ", "");
    objIncrement.ID_OD = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[1].Text).Replace(" ", "");
    objIncrement.ID_OD_CHANGEDATE = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[2].Text).Replace(" ", "");
    
    if (string.IsNullOrEmpty(Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[4].Text).Replace(" ", "")))
    {
        objIncrement.NoofRRHBase = "0";
    }
    else 
    {
        objIncrement.NoofRRHBase = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[4].Text).Replace(" ", "");
    }
    
    objIncrement.SiteStatus = "".Replace(" ", "");
    objIncrement.SiteDropDate = "".Replace(" ", "");
    objIncrement.RRH_CHAGEDDATE = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[5].Text).Replace(" ", "");
    objIncrement.TENANCY_COUNT = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[6].Text).Replace(" ", "");
    objIncrement.TENANCY_CHANGEDDATE = Convert.ToString(grdDisplayFCAData.Rows[gvrow.RowIndex].Cells[7].Text).Replace(" ", "");
    
    arrIncrementData[0] = objIncrement;
    
    string apiUrl = ConfigurationManager.AppSettings["WebApiUrl"].ToString();
    var inputIPColoMaster = new
    {
        IEIncrementalData = arrIncrementData,
    };
    string inputJsonIPColoMaster = (new JavaScriptSerializer()).Serialize(inputIPColoMaster);
    WebClient client = new WebClient();
    client.Headers["Content-type"] = "application/json";
    client.Encoding = Encoding.UTF8;
    string json = client.UploadString(apiUrl, inputJsonIPColoMaster);
    DataTable dtRes = new DataTable();
    string GISSendDate = System.DateTime.Now.Date.ToString("dd-MM-yyyy", new System.Globalization.CultureInfo("en-US"));
    StringReader sr = new StringReader(json);
    dtRes = JsonConvert.DeserializeObject<DataTable>(json);
    

    远程服务器返回错误:(415)不支持的媒体类型。

    string json = client.UploadString(apiUrl, inputJsonIPColoMaster);

    {"IEIncrementalData":[{"SAPID":"I-PB-AMRR-ENB-I042","SiteRFEIDate":"23/10/2018","SiteRFSDate":"Approved","ID_OD":"","ID_OD_CHANGEDATE":"","NoofRRHBase":"24/10/2018","SiteStatus":"","SiteDropDate":"","RRH_COUNT":null,"RRH_CHAGEDDATE":"","TENANCY_COUNT":"","TENANCY_CHANGEDDATE":"23/10/2018"}]}
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   hud    6 年前

    我从客户那里得到了大量的调试和响应数据。

    I created the Parameters with same name as the response was generating from the API

    例如:-前面的响应类名是 IEIncrementalData 我送的。但API的反应是 SiteData

    做了那件事之后,它对我起了作用。!!