דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. שליחת בקשה לשרת מקוד C#

שליחת בקשה לשרת מקוד C#

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 4 כותבים 564 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #1

    שבוע טוב!

    אני רוצה להוסיף לתוכנה אפשרות לחייב כרטיסי אשראי.
    פניתי לכמה חברות וקיבלתי מהם API דרכו אני יכול לממש זאת.
    הבעיה שלי שאני עדיין לא יודע WEB ולכן אני קצת מסתבך..

    אני מקבל מהמשתמש את הנתונים ומחבר אותם למחרוזת אחת, (בצירוף נתוני המסוף וכו') וממיר אותם למחרוזת JSON. באמצעות JavaScriptSerializer.
    אח"כ אני יוצר אובייקט מסוג WebRequest מזין לו את הכתובת ומגדיר אותו לPOST. עד כאן הכל טוב ויפה.
    אולם, אני לא מבין כיצד אני ממשיך מכאן הלאה? כיצד אני מזין לו את המחרוזת json שלי? ואיך אני שולח אותו?
    מחיפוש בגוגל ראיתי שאולי צריך להשתמש בXMLHttpRequest, אך אני לא מצליח למצוא איפה להוסיף לו refrence כי הVS לא מכיר אותו..
    אשמח להסבר.

    תודה רבה!

    פורסם במקור בפורום CODE613 ב23/08/2015 01:34 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • A מנותק
      A מנותק
      avr416
      כתב ב נערך לאחרונה על ידי
      #2

      הסתדרתי.
      כתבתי את הקוד הבא:

      string URL = "https://gateway20.pelecard.biz/services/ConvertToToken";
                  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
                  request.Method = "POST";
                  try
                  {
                      if (!string.IsNullOrEmpty(creditNumberTB.Text + yearTB.Text + monthTB.Text ))
                      {
                          CreditToToken token = new CreditToToken();
                          token.numOfCredit = creditNumberTB.Text;
                          token.Tokef = monthTB.Text + yearTB.Text;
                          
                          var tokenJSON = token.ToJSON();//המרת האובייקט לJSON 
                          
                          using (var sw = new StreamWriter(request.GetRequestStream()))
                          {
                              sw.Write(tokenJSON);
                              sw.Flush();//מה זה אומר??
                              sw.Close();
                          }
                          var response = (HttpWebResponse)request.GetResponse();
                          using (var sr = new StreamReader(response.GetResponseStream()))
                          {
                              var result = sr.ReadToEnd();
                              resultTB.Text = result;//הצגת התשובה למשתמש
                          }
                      }
      

      אשמח להסבר מדוע יש הבדל בין webRequest לHttpWebRequest?
      כמו כן, מדוע אי אפשר לשלוח ישירות את האובייקט לשרת? מדוע צריך להשתמש בstreamWriter או reader?
      תודה רבה!

      פורסם במקור בפורום CODE613 ב23/08/2015 02:13 (+03:00)

      תגובה 1 תגובה אחרונה
      0
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        כתב ב נערך לאחרונה על ידי
        #3

        אני רואה מהדוגמא שהבאת שזה מפלאכארד.
        יש להם ווב סרוויס שממומש כמו פונקצייה פנימית.

        ראה כאן
        http://mabat.net/572/documents/WebService/WebService_Heb.htm

        וזה הWS
        https://ws101.pelecard.biz/

        אתה פשוט צריך לעשות הוספה ורפרנס לWS בכתובת הנ"ל.

        פורסם במקור בפורום CODE613 ב23/08/2015 11:22 (+03:00)

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        תגובה 1 תגובה אחרונה
        1
        • S מנותק
          S מנותק
          softs
          כתב ב נערך לאחרונה על ידי
          #4

          webRequest היא מחלקה אבסטרקטית שמכילה גם כמה פונקציות עם קוד כמו create ו httpWebRequest יורשת ממנה
          StreamWriter זה אובייקט שעוזר לרשום לתוך stream בסטרינג ולא בבייטים, Flush מעדכן חזרה ל stream שעליו ה StreamWriter מוגדר, לא תמיד נחוץ, במקרה שלך שורות 17 ו 18 מיותרות כי שמת את זה בתוך using וביציאה מהבלוק הוא ממילא מבצע את שניהם אוטומטית.

          לגבי לשלוח ישירות לשרת לא הבנתי את שאלתך, בקשת HTTP מורכבת מ URL, headers, Mehtod, Body, אתה מצפה לקוד יותר קצר או מה?
          ראה מה כתב clickone אם תשתמש ב WS זה יהיה יותר קצר בהרבה, אבל לא לכולם יש WS . . .

          פורסם במקור בפורום CODE613 ב23/08/2015 11:42 (+03:00)

          תגובה 1 תגובה אחרונה
          2
          • א מנותק
            א מנותק
            ארכיטקט
            כתב ב נערך לאחרונה על ידי
            #5

            אל תשכח להוציא מהם 100 דולר להפניית לקוח!!!
            בהצלחה!

            פורסם במקור בפורום CODE613 ב23/08/2015 13:06 (+03:00)

            אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

            תגובה 1 תגובה אחרונה
            2
            • A מנותק
              A מנותק
              avr416
              כתב ב נערך לאחרונה על ידי
              #6

              @softs

              לגבי לשלוח ישירות לשרת לא הבנתי את שאלתך, בקשת HTTP מורכבת מ URL, headers, Mehtod, Body, אתה מצפה לקוד יותר קצר או מה?
              ראה מה כתב clickone אם תשתמש ב WS זה יהיה יותר קצר בהרבה, אבל לא לכולם יש WS . . .

              התכוונתי שלא מצאתי מאפיין בשם Body שאני פשוט יכול להזין אליו ישירות סטרינג עם מחרוזת JSON, אלא אני חייב להשתמש בstreamWriter כדי לכתוב את הבקשה. ולא הבנתי מדוע צריך להשתמש דווקא באובייקט הזה לכתיבה וא"א פשוט לשלוח אובייקט של מחרוזת לשרת, והשרת יקבל את המחרוזת שהיא בנויה בצורה של JSON יקרא אותה ויחזיר לי תשובה.
              תודה רבה!

              clickOne אכן כן! ניחשת נכון :lol:
              אבל מעניין שבמקום להפנות אותי לקובץ שהפנית הם שלחו לי PDF שבו מצויינים הפרמטרים שאני צריך לשלוח לכל סוג בקשה, ומה הכתובת..

              פורסם במקור בפורום CODE613 ב23/08/2015 20:49 (+03:00)

              תגובה 1 תגובה אחרונה
              1
              • clickoneC מנותק
                clickoneC מנותק
                clickone
                כתב ב נערך לאחרונה על ידי
                #7

                @avr416

                clickOne אכן כן! ניחשת נכון :lol:
                אבל מעניין שבמקום להפנות אותי לקובץ שהפנית הם שלחו לי PDF שבו מצויינים הפרמטרים שאני צריך לשלוח לכל סוג בקשה, ומה הכתובת..

                לא ניחשתי 🙂
                גם אני עובד איתם....

                פורסם במקור בפורום CODE613 ב23/08/2015 23:27 (+03:00)

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                תגובה 1 תגובה אחרונה
                1
                • A מנותק
                  A מנותק
                  avr416
                  כתב ב נערך לאחרונה על ידי
                  #8

                  צחקתי :lol: אני יודע שאתה עובד איתם..
                  שלחתי לך באישי שאלה כי אני מסתבך קצת עם הwebService שלהם..
                  אשמח אם תוכל לענות לי..
                  תודה רבה רבה!!

                  פורסם במקור בפורום CODE613 ב23/08/2015 23:56 (+03:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • A מנותק
                    A מנותק
                    avr416
                    כתב ב נערך לאחרונה על ידי
                    #9

                    ניסיתי עם הווב סרביס שהביא clickOne אך אני מקבל שגיאת ריצה כזאת:
                    ‏‏"לא היתה אפשרות לטעון את מקטע תצורת נקודת הקצה עבור החוזה 'ServiceReference1.ITrxWebService' כיוון שנמצאו מספר תצורות של נקודות קצה עבור חוזה זה. נא ציין את מקטע תצורת נקודת הקצה המועדף לפי שם".
                    הקוד שכתבתי הוא:

                    public string ConvertToken()
                            {
                               TrxWebServiceClient client1 = new TrxWebServiceClient();
                               return client1.ConvertToToken(this.user, this.password, this.terminalNumber, this.numOfCredit, this.Tokef);
                            }
                    

                    ואני קורא למתודה הזאת מחלון בו המשתמש מזין פרטים שהם נשמרים באובייקט בשם טוקן, שאחת המתודות שלו היא זו.

                    מה הטעות שלי?
                    תודה רבה!!

                    פורסם במקור בפורום CODE613 ב24/08/2015 00:05 (+03:00)

                    תגובה 1 תגובה אחרונה
                    0

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום