נפתר מדוע נוצרת השגיאה הזו?
-
שימו לב!
ישנה דרך נוספת ליצירת טוקן ללא צורך בבקשת Login
כאשר שולחים כל פקודת API, לרשום בפרמטר token מספר מערכת : סיסמא (username:password)לדוגמה:
${url}<WebServiceName>?token=${username}:${password}
-
@עידו תודה רבה!!
-
@עידו החלטתי להגדיל ראש ובדקתי את העניין ע"י שליחת בקשת POST, בפורמט של x-url-encoded (במקום בפורמט של application/json), וזה עבד.
כנראה באמת יש בעיה בסיריאליזציה בפורמט JSON.
להלן הקוד:
static async Task UploadTextFileWithPost() { try { var client = new HttpClient(); // Prepare key-value pairs var formData = new Dictionary<string, string> { { "token", $"{Username}:{Password}" }, { "what", "ivr2:14/text_file.ini" }, { "contents", "Some test message" } }; // Create FormUrlEncodedContent var content = new FormUrlEncodedContent(formData); // Optional: Add headers (Content-Type is set automatically) client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); var responseJ2 = await client.PostAsync("https://www.call2all.co.il/ym/api/UploadTextFile", content); // בדיקת מצב התגובה if (responseJ2.IsSuccessStatusCode) { // קריאת התוכן של התגובה var responseContent2 = await responseJ2.Content.ReadAsStringAsync(); Console.WriteLine($"Response: {responseContent2}"); } else { Console.WriteLine($"Error: {responseJ2.StatusCode}"); return; } } catch (Exception ex) { Console.WriteLine($"Exception: {ex.Message}"); } await Task.Delay(1000); Console.WriteLine("Async work done!"); }
-
@soris1989 עובד ב"ה
תודה רבה!
-
-
-
-