C# 如何解决;“基础连接已关闭”;在API中
我有一个下面的json数据。我正在使用“PUT”方法从API传递此json数据。API返回邮递员的响应,但当我从下面的C代码运行此API时,它会显示一条错误消息,即“底层连接已关闭” 请检查以下代码并建议如何解决此问题 Json数据:-C# 如何解决;“基础连接已关闭”;在API中,c#,api,C#,Api,我有一个下面的json数据。我正在使用“PUT”方法从API传递此json数据。API返回邮递员的响应,但当我从下面的C代码运行此API时,它会显示一条错误消息,即“底层连接已关闭” 请检查以下代码并建议如何解决此问题 Json数据:- [ { "transaction": { "Version": "1.01", "TranDtls": { "TaxSc
[
{
"transaction": {
"Version": "1.01",
"TranDtls": {
"TaxSch": "GST",
"SupTyp": "EXPWOP",
"RegRev": "N",
"EcmGstin": null,
"IgstOnIntra": null
},
"DocDtls": {
"Typ": "INV",
"No": "G/E/20-21/0175",
"Dt": "11/09/2020"
},
"SellerDtls": {
"Gstin": "29AAFCD5862R000",
"LglNm": "K.H Exports India Private Limited",
"TrdNm": "K.H Exports India Private Limited (Glove Division)",
"Addr1": "142/,Trunk Road",
"Addr2": "Perumugai",
"Loc": "Via Vellore",
"Pin": "560037",
"Stcd": "29",
"Ph": "04162253164",
"Em": "edp.kharind@khindia.com"
},
"BuyerDtls": {
"Gstin": "URP",
"LglNm": "H M FINANCE AB",
"TrdNm": "H M FINANCE AB",
"Pos": "96",
"Addr1": "MASTER SAMUELSGATAN 46 A, 106 38 STOCKHOLM SWEDEN ",
"Addr2": null,
"Loc": "Sweden",
"Pin": "999999",
"Stcd": "96",
"Ph": null,
"Em": null
},
"DispDtls": null,
"ShipDtls": {
"Gstin": "URP",
"LglNm": "LOGIX FZCO",
"TrdNm": "LOGIX FZCO",
"Addr1": "PO BOX 261422 PLOT NO. S21515, SOUTH BLOCK JEBEL ALI FREE ZONE DUBAI UNITED ARAB EMIRATES ",
"Addr2": null,
"Loc": "United Arab Emirates",
"Pin": "999999",
"Stcd": "96"
},
"ItemList": [
{
"SlNo": "0001",
"PrdDesc": "FINE LEATHER GLOVES MADE OUT OF SHEEP LEATHER FOR LADIES. ",
"IsServc": "N",
"HsnCd": "42032920",
"Barcde": null,
"Qty": 10.0,
"FreeQty": 0.0,
"Unit": "PR",
"UnitPrice": 452.50,
"TotAmt": 4525.00,
"Discount": 0.0,
"PreTaxVal": 4525.00,
"AssAmt": 4525.00,
"GstRt": 0.0,
"IgstAmt": 0.0,
"CgstAmt": 0.0,
"SgstAmt": 0.0,
"CesRt": 0.0,
"CesAmt": 0.0,
"CesNonAdvlAmt": 0.0,
"StateCesRt": 0.0,
"StateCesAmt": 0.0,
"StateCesNonAdvlAmt": 0.0,
"OthChrg": 0.0,
"TotItemVal": 4525.00,
"OrdLineRef": null,
"OrgCntry": null,
"PrdSlNo": null,
"BchDtls": null,
"AttribDtls": null
}
],
"ValDtls": {
"AssVal": 4525.00,
"CgstVal": 0.0,
"SgstVal": 0.0,
"IgstVal": 0.0,
"CesVal": 0.0,
"StCesVal": 0.0,
"Discount": 0.0,
"OthChrg": 0.0,
"RndOffAmt": 0.0,
"TotInvVal": 4525.00,
"TotInvValFc": 0.0
},
"PayDtls": {
"Nm": "ABCDE",
"AccDet": "5697389713210",
"Mode": "Cash",
"FininsBr": "SBIN11000",
"PayTerm": "100",
"PayInstr": "Gift",
"CrTrn": "test",
"DirDr": "test",
"CrDay": 100,
"PaidAmt": 10000,
"PaymtDue": 5000
}
}
}
]
源代码:-
string DATA = JsonConvert.SerializeObject(trans2, Newtonsoft.Json.Formatting.Indented);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://einvoicing.internal.cleartax.co/v2/eInvoice/generate");
request.Method = "PUT";
request.Headers.Add("owner_id", "78c6beda-54a2-11ea-b064-0af3f8b02c24");
request.Headers.Add("gstin", "29AAFCD5862R000");
request.ContentType = "application/json";
request.ContentLength = DATA.Length;
StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
requestWriter.Write(DATA);
requestWriter.Close();
try
{
WebResponse webResponse = request.GetResponse();
Stream webStream = webResponse.GetResponseStream();
StreamReader responseReader = new StreamReader(webStream);
string response = responseReader.ReadToEnd();
Console.Out.WriteLine(response);
responseReader.Close();
}
catch()
{
}
确保您发布的代码不包含任何身份验证数据,特别是考虑到您也发布了您试图访问的端点 您是否尝试过安装Fiddler2并观察连接情况
此端点是否希望使用POST方法而不是PUT方法?否此api仅支持PUT方法