ایراد در انکریپت سامانه مودیان
با سلام
Pkcs8SignatoryFactory pkcs8SignatoryFactory = new Pkcs8SignatoryFactory();
EncryptorFactory encryptorFactory = new EncryptorFactory();
TaxProperties properties = new TaxProperties(MemoryId);
TaxApiFactory taxApiFactory = new TaxApiFactory(ApiUrl, properties);
ISignatory signatory = pkcs8SignatoryFactory.Create(PrivateKeyPath, CertificatePath);
ITaxPublicApi publicApi = taxApiFactory.CreatePublicApi(signatory);
IEncryptor encryptor = encryptorFactory.Create(publicApi);
InvoiceDto validInvoice = CreateValidInvoice();
InvoiceDto invalidInvoice = CreateInvalidInvoice();
List<InvoiceDto> invoiceList = new List<InvoiceDto>()
{
validInvoice
// ,invalidInvoice
};
ILowLevelTaxApi lowLevelApi = taxApiFactory.CreateLowLevelApi(signatory);
string invoiceJson = Encoding.UTF8.GetString(
JsonSerializer.SerializeToUtf8Bytes(
validInvoice, JsonSerializerConfig.JsonSerializerOptions));
string s = signatory.Sign(invoiceJson);
string payload = encryptor.Encrypt(s);
در این تکه کد، دقیقا روی خط آخر ارور زیر رو دارم:
System.Text.Json.JsonException: ''<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.'
نمی دونم ایراد از چیه، دوستان ممنون می شم اگر تجربه ای دارن اشتراک بگذارن.
کلا اگر فایل های سرتیفیکیت مثلا اشتباه باشن، اکسپایر باشن یا هر چیز دیگه ای، به این مورد ارتباط داره آیا؟
نمونه سورسی دارید که ارسال انجام داده باشه؟
متشکرم
نقل قول: ایراد در انکریپت سامانه مودیان
این خطا معمولا به دلیل نامنظم بودن ساختار داده JSON است که در این حالت ممکن است برای سرور مقصد خطا به وجود بیاورد. به نظر میرسد که مشکل در خط زیر است:
string invoiceJson = Encoding.UTF8.GetString( JsonSerializer.SerializeToUtf8Bytes(
validInvoice, JsonSerializerConfig.JsonSerializerOptions));
برای رفع این مشکل، میتوانید از یک تابع دیگر برای تبدیل اشیاء C# به رشته JSON استفاده کنید. به عنوان مثال، میتوانید از Newtonsoft.Json (یا همان Json.NET) استفاده کنید. برای استفاده از Newtonsoft.Json، میتوانید آن را از NuGet در پروژه خود نصب کنید و سپس خطوط زیر را به جای خطوط مذکور در کد خود قرار دهید:
string invoiceJson = JsonConvert.SerializeObject(validInvoice);
این تابع، شیء validInvoice را به یک رشته JSON تبدیل میکنه. سپس میتوانید ادامهٔ کد خود را اجرا کنید. امیدوارم که این راه حل مشکل شما را حل کنه
نقل قول: ایراد در انکریپت سامانه مودیان
نه همکار گرامی، رشته پس از تبدیل شو شد و کاملا صحیح بود، حتی دستی هم ساختم دادم ایراد داشت،
به نظر می رسه اس دی کا مشکل یا نکته خاصی داره، شما با مودیان کار کردید؟
نقل قول: ایراد در انکریپت سامانه مودیان
با عرض سلام
برای من روی این خط خطا میگیره
ISignatory signatory = pkcs8SignatoryFactory.Create(PrivateKeyPath, CertificatePath);
خطایش هم اینه
System.NullReferenceException: 'Object reference not set to an instance of an object.'
مقدارهای CertificatePath و PrivateKeyPath هم درست تعریف شده
اگر دوستان میتوانند راهنمایی کنند
نقل قول: ایراد در انکریپت سامانه مودیان
مشکل شما ایراد در خود فایل های امضا هست
ایراد من هم این بود که خود سامانه مشکل داره هنوز روی اصلی
نقل قول: ایراد در انکریپت سامانه مودیان
نقل قول:
نوشته شده توسط
jafari1
با عرض سلام
برای من روی این خط خطا میگیره
ISignatory signatory = pkcs8SignatoryFactory.Create(PrivateKeyPath, CertificatePath);
خطایش هم اینه
System.NullReferenceException: 'Object reference not set to an instance of an object.'
مقدارهای CertificatePath و PrivateKeyPath هم درست تعریف شده
اگر دوستان میتوانند راهنمایی کنند
سلام دوست عزیز.
مطمئن شو که ابتدا و انتهای فایل های کلید عمومی و خصوصی این خطوط باشه:
-----BEGIN PRIVATE KEY-----
PRIVATE KEY
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
CERTIFICATE
-----END CERTIFICATE-----
نقل قول: ایراد در انکریپت سامانه مودیان
نقل قول:
نوشته شده توسط
یوسف زالی
مشکل شما ایراد در خود فایل های امضا هست
ایراد من هم این بود که خود سامانه مشکل داره هنوز روی اصلی
مشکل شما حل شد؟
من همچنان نتونستم باهاش کار کنم.
گویا خروجی که میده json نیست به این شکله:
<html>
<head>
<title>503 Service Temporarily Unavailable</title>
</head>
<body>
<center>
<h1>503 Service Temporarily Unavailable</h1>
</center>
<hr>
<center>nginx</center>
</body>
</html>
به همین خاطر این خطا رو میده. به جای اینکه json بگیره، کاراکتر اول > هست.
نقل قول: ایراد در انکریپت سامانه مودیان
نقل قول: ایراد در انکریپت سامانه مودیان
نقل قول:
نوشته شده توسط
یوسف زالی
ما هم همچنان منتظریم..
آخرش موفق شدین؟
یک نمونه سورس که کار بکنه و یک فاکتور تو این سامانه ثبت کنه ندیدم، نمونه سورس خودشون هم کار نمیکنه.
نقل قول: ایراد در انکریپت سامانه مودیان
سلام بله من نوشتم و از اول دی ماه هم ارسال کردند
اگر با C# نوشتید سورس را بفرستید من ببینم مشکلش چیه
نقل قول: ایراد در انکریپت سامانه مودیان
دوستان عزیز من نوگت رو به پروژه اضافه کردم توابع و کلاس ها رو نمیشناسه لاید دستی تعریف کنم ؟ عین sdk موجود در سایت سازمان ؟
نقل قول: ایراد در انکریپت سامانه مودیان
سلام
نوگتی که دارایی داده فقط در net core 6 کار میکنه من یک تغییر جزیی در آن دادم تا در net frame work کار کنه اگر مایلید ایمیل تان را بفرستید تا برایتان ارسال کنم
نقل قول: ایراد در انکریپت سامانه مودیان
palilou1986@gmail.com
ممنونم از لطفتان
بعد از افزودن نوگت به پروژه لازمه کار خاصی انجام بشه ؟
چون هیچ یک از ابجکت های
Taxapiservice
İnvoicedto()
...
و هر چی کد توی پی دی اف ارایه شده در سایت سازمان هست رو نمیشناسه
ویژال استودیوی من ۲۰۲۲ هست
نقل قول: ایراد در انکریپت سامانه مودیان
نقل قول: ایراد در انکریپت سامانه مودیان
سلام خوبی عزیز شما url رو دارین اشتباه میزنین
ب جای ساتفاده از
/req/api
باید از
RequestManager استفاده کنی
درخواست به url اشتباه میزنی و کدhtml بهت response میده در نتیجه 503 برمیگرده
به serialized json هم دست نزن چون داخل خودش نرمال میکنه اگر داده هات نرمال نیستن
نقل قول: ایراد در انکریپت سامانه مودیان
فرق نداره من تست کردم هر دو url را قبول میکنه