#c# #json
#c# #json
Вопрос:
Я собираюсь сгенерировать API Eway Bill из приведенного ниже запроса.Ответ на приведенный ниже запрос отображается нормально в «Postmen», но в то же время, когда я выполняю этот приведенный ниже запрос из кода C #, он показывает сообщение об ошибке как «Удаленный сервер вернул ошибку: (400) Неверный запрос»..
Я хотел бы знать, как отобразить сообщение об ошибке postmen в коде C #.
URL :-
https://ewbbackend-preprodpub-http.internal.cleartax.co/gst/v0.1/taxable_entities/1c74ddd2-6383-4f4b-a7a5-007ddd08f9ea/ewaybill/GLD23985?activity_type=GENERATE_EWB
Заголовок :-
Content-type : application/json
X-Cleartax-Auth-Token : b1f57327-96db-4829-97cf-2f3a59a3a548
taxable_entity_id : b1f57327-96db-4829-97cf-2f3a59a3a548
Тело :-
{
"id": "GLD23985",
"transaction_date": "26/10/2020",
"source": "USER",
"document_number": "BQ/20/0251",
"type": "OUTWARD",
"transport_mode": "ROAD",
"dispatch_from_state": "HARYANA",
"sub_supply": "Supply",
"distance": "90",
"vehicle_number": "TN32N1049",
"document_type": "Tax Invoice",
"seller": {
"address1": "142/1,Trunk Road",
"address2": "Perumugai",
"city": "Via Vellore",
"gstin": "29AEKPV7203E1Z9",
"name": "K.H Exports India Private Limited",
"state": "HARYANA",
"zip_code": ""
},
"receiver": {
"address1": "4/74, VOC Street, Seenerkuppam Village, ",
"address2": "Poonamalle, Chennai 600 056",
"city": "",
"gstin": "33AAACR1714R1ZA",
"name": "KH EXPORTS INDIA PVT.LTD. (LGD)",
"state": "TAMIL NADU",
"zip_code": "600003"
},
"consignee": {
"city": "",
"state": "TAMIL NADU",
"zip_code": "600003"
},
"line_items": [
{
"cess_rate": "0",
"cess_val": "0",
"cgst_rate": "0",
"cgst_val": "0",
"description": "STYLE;91311 COLOUR;SVFD7 BELT amp; PA",
"gst_code": "4203",
"igst_rate": "28.00",
"igst_val": "16800.000000",
"item_code": "STYLE;91311 COLOUR;SVFD7 BELT amp; PA",
"quantity": "3.00",
"serial_number": "1",
"sgst_rate": "0",
"sgst_val": "0",
"taxable_val": "600.0000",
"unit_of_measurement": "NUMBERS"
},
{
"cess_rate": "0",
"cess_val": "0",
"cgst_rate": "0",
"cgst_val": "0",
"description": "STYLE;91307 COLOUR;ABFD2 BELT amp; PA",
"gst_code": "4203",
"igst_rate": "28.00",
"igst_val": "16800.000000",
"item_code": "STYLE;91307 COLOUR;ABFD2 BELT amp; PA",
"quantity": "3.00",
"serial_number": "2",
"sgst_rate": "0",
"sgst_val": "0",
"taxable_val": "600.0000",
"unit_of_measurement": "NUMBERS"
}
]
}
Ответ:-
{
"errors": {
"err_1": {
"code": "BAD_REQUEST_ATTR",
"message": "Pincode should have 6 digits.",
"error_group_code": 0,
"error_id": 0,
"severity": "ERROR"
}
},
"error_sources": {
"seller": {
"zip_code": {
"error_refs": [
"err_1"
]
}
}
}
}
C # Код:-
string DATA = JsonConvert.SerializeObject(tr, Newtonsoft.Json.Formatting.Indented);
using (var client = new WebClient())
{
client.Headers.Add("taxable_entities", ConfigurationManager.AppSettings["taxable_entities"]);
client.Headers.Add("X-Cleartax-Auth-Token", ConfigurationManager.AppSettings["auth-token"]);
client.Headers[HttpRequestHeader.ContentType] = "application/json";
string url = ConfigurationManager.AppSettings["host"] ConfigurationManager.AppSettings["taxable_entities"] "/ewaybill/" TblHeader.Rows[0]["id"].ToString() "?activity_type=GENERATE_EWB";
string res = client.UploadString(url, "PUT", DATA);
}
Комментарии:
1. получаете ли вы данные в контроллере?
Ответ №1:
Привет, мой друг, вы можете использовать этот код для обработки вашего ответа и получения вашего ответа. Предыдущие примеры возвращают сообщение HttpResponseMessage от действия контроллера, но вы также можете использовать HttpResponseException для возврата HTTPError. Это позволяет вам возвращать строго типизированную модель в обычном случае успеха, при этом возвращая HTTPError в случае ошибки
public Product GetProduct(int id)
{
Product item = repository.Get(id);
if (item == null)
{
var message = string.Format("Product with id = {0} not found", id);
throw new HttpResponseException(
Request.CreateErrorResponse(HttpStatusCode.NotFound, message));
}
else
{
return item;
}
}
Комментарии:
1. Спасибо за ответ, на самом деле я беру api от правительства, просто я выполняю этот api, поэтому, пожалуйста, посоветуйте, как я могу контролировать эту ошибку в коде C #