שגיאה בשליחת API - אקסס
-
שלום וברכה.
יש לי אתר של הנפקת קבלות שיש לו API לשליחת בקשה, ובאתר שלהם יש דוגמא לשימוש בAPI. כשאני ממלא שם את כל הפרטים זה עובד מצוין.
אמנם כשאני מנסה להשתמש בAPI הזה דרך אקסס זה מחזיר לי את השגיאה הבאה:
יצויין שאם אני שולח את הבקשה דרך הדוגמא באתר אני רואה בcontrol (F12) את הפרטים של הבקשה והם בדיוק כמו שאני שולח.
יותר מזה קשה, שבכל מחשב אחר הקוד באקסס עובד מצוין, יש רק מחשב אחד שבו דרך האתר זה עובד ודרך הקוד לא.
מה יכולה להיות הבעיה?
תודה רבה! -
@mekev לא נשלח פרמטר של תאריך.
זה הפרמטרים שנשלחים (מתוך הדוגמא באתר).{ "Details": { "ExternalIdentifier": null, "NoVAT": null, "SearchMode": null, "Name": "Danny Dean", "Phone": "050-1234567", "EmailAddress": "danny@dean.com", "City": null, "Address": null, "ZipCode": null, "CompanyNumber": "514000123", "ID": null, "Folder": null }, "Credentials": { "CompanyID": 12345678, "APIKey": "AsOUq8u8Mk80G4IZ7AZEYhKccOEzHy9HQBNuf41jBGN6mekFIN" }, "ResponseLanguage": null }
זה בקשה להוספת לקוח במערכת (לא של הנפקת קבלה בפועל)
תודה! -
Dim oHttp As MSXML2.ServerXMLHTTP60 Dim sURL As String Dim Body As String Body = "{ ""Details"":{""ExternalIdentifier"":null,""NoVAT"":null,""SearchMode"":null,""" Body = Body & "Name"":""" & name & """,""Phone"":" & Phone & ",""EmailAddress"":" & Mail & ",""" Body = Body & "City"":" & City & ",""Address"":" & Add & ",""ZipCode"":null,""" Body = Body & "CompanyNumber"":" & tz & ",""ID"":null,""Folder"":null},""" Body = Body & "Credentials"":{""CompanyID"":12345678,""APIKey"":""XXXXXXXXXXXXXXX""},""ResponseLanguage"":null}""" Set oHttp = New ServerXMLHTTP60 sURL = "https://www.myofficeguy.com/api/accounting/customers/create/" oHttp.Open "POST", sURL, False oHttp.setRequestHeader "Accept", "text/plain" oHttp.setRequestHeader "Content-type", "application/json-patch+json" oHttp.send (Body) Customers = oHttp.responseText
-
@ארי כתב בשגיאה בשליחת API - אקסס:
@mekev לא נשלח פרמטר של תאריך.
כל תקשורת SSL (כתובת שמתחילה בhttps) משתמשת עם תאריך ושעה, אם זה שגוי זה יביא שגיאה.
אלא שאם בדפדפם זה עובד זה נראה שאין בעיית תאריך/שעה אבל היה כדאי שתעדכן שבדקת והכל תקין (יש לשים לב גם שאיזור הזמם יתאים לשעה, כלומר אם אתה שם שעה של ישראל שים איזור זמן ירושלים).אם תרצה לשלול לגמרי בעיית SSL תשים את השורה הזו
objHTTP.SetOption 2, objHTTP.GetOption(2)
לפני שני השורות האחרונות.
-
@OdedDvir כתב בשגיאה בשליחת API - אקסס:
@ארי נסה להוסיף גם את הכותרת הבאה:
oHttp.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
לא עזר
@dovid כתב בשגיאה בשליחת API - אקסס:
objHTTP.SetOption 2, objHTTP.GetOption(2)
עזר!!!
תודה!עכשין רק בשביל הידע של אחד שממש לא מבין ברשתות וSSL.... מה עשיתי שם?
תודה. -
@ארי כתב בשגיאה בשליחת API - אקסס:
מה עשיתי שם?
זה הגדרה שמאפשרת תקשורת לא בטוחה, כמו בדפדפן שיש אזהרת אבטחה ועושים המשך.
זה לא פתרון נכון,
צריך להבין מה קורה במחשב שלך.
אני מניח שאתה בנטפרי/רימון ולא התוקנה תעודה במחשב שלך בצורה הנכונה, או שאכן יש בעיית תאריך/שעה במחשב שלך.
בשני המקרים לא ברור לגמרי למה בדפדפן אין בעיה אבל יכולים להיות כמה תשובות לזה. -
@dovid
גם אם יש ל @ארי סינון של רשימה לבנה, יש מצב שהוא הוצרך להתקין תעודת אבטחה, אחרת הסינון על הרשימה הלבנה לא יעבוד באתרים מאובטחים.נתקלתי בבעיה הזו מספר פעמים באקסס בשימוש עם האובייקט MSXML2.ServerXMLHTTP60, ואני חושב לפי מה שבדקתי שאין יותר מדאי מה לעשות עם זה אלא להוסיף את השורה שהבאת, כמובן לאחר בדיקות שהכתובת הנכונה ושאין סניפרים על המחשב וכו.
באחת הפעמים הבעיה הזו היתה גם אצל לקוח שהיה על מחשב ללא סינון כלל. ואגב התשובות בסטאק מדברות גם על בעיות דומות עם האובייקט הזה.
אני חושש שבכלל הבעיה נמצאת באובייקט המיושן הזה בשילוב עם SSL.בדיקה פשוטה שאפשר לעשות זה התקנת מחשב נקי ובדיקה, או בדיקה של הרצת הקוד במחשב אחר
-
@clickone כתב בשגיאה בשליחת API - אקסס:
בדיקה פשוטה שאפשר לעשות זה התקנת מחשב נקי ובדיקה, או בדיקה של הרצת הקוד במחשב אחר
כמו שכתבתי למעלה הקוד עובד בכל מחשב אחר.
אני יועד בבירור שהAPI הזה בטוח ותקין, ואין לי שום סיבה לחשוב שמשהו שם לא מאובטח.
להמשיך עם התיקון שנעשה וזהו? או להמשיך לחפור על הנושא?
תודה לכולם! -
@clickone כתב בשגיאה בשליחת API - אקסס:
גם אם יש ל @ארי סינון של רשימה לבנה, יש מצב שהוא הוצרך להתקין תעודת אבטחה, אחרת הסינון על הרשימה הלבנה לא יעבוד באתרים מאובטחים.
אני חושב שהסינונים של הספקים עם הרשימה הלבנה לא מסננים בתוך האתר, אלא רק ברמת הדומיין, וזה לא מצריך תעודת אבטחה