Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Warum liefert Rest Service beim POST keine Daten?
brave_snoopy
myCSharp.de - Member



Dabei seit:
Beiträge: 97

Themenstarter:

Warum liefert Rest Service beim POST keine Daten?

beantworten | zitieren | melden

Hallo,

ich möchte aus meiner WinForms Anwendung heraus einen WebService mittels POST antriggern. Der Webservice ist ein Jenkins Server. Das funktioniert auch einwandfrei. Der Job wird gestartet.
Allerdings bekomme ich keinen Response zurück.

Ich hab mir eine Helper Klasse gebaut mit folgender Methode gebaut:


public static async Task<string> Post()
        {

            using (HttpClient client = new HttpClient())
            {
                string authToken = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("admin:11be8206410f8"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken);
                var nullcontent = new StringContent("");
                using (HttpResponseMessage res = await client.PostAsync("http://wi216ps1:8080/job/TestPS/buildWithParameters?samAccountName=test", null))
                {
                    using (HttpContent content = res.Content)
                    {
                        string data = await content.ReadAsStringAsync().ConfigureAwait(false);
                        if (data != null)
                        {
                            return data;
                        }
                    }
                }
            }
            return string.Empty;
        }

Und aufrufen tue ich das ganze über eine button Click Methode:


private async void b_CreateUser_Click(object sender, EventArgs e)
        {

            var response = await RestHelper.Post();
            textBox1.Text = response;
        }

Ich hab es mit einem GET versucht, das klappt. Nur leider beim Post bekomme ich kein Response. Ich vermute es liegt an dem async.

Könnt ihr mir sagen, wie ich das Problem gelöst bekomme?
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

es liegt ganz sicher nicht am async
private Nachricht | Beiträge des Benutzers
brave_snoopy
myCSharp.de - Member



Dabei seit:
Beiträge: 97

Themenstarter:

beantworten | zitieren | melden

Zitat von HansFred
es liegt ganz sicher nicht am async

Woran könnte es dann liegen ?
private Nachricht | Beiträge des Benutzers
witte
myCSharp.de - Member



Dabei seit:
Beiträge: 966

beantworten | zitieren | melden

Na dann schau doch mal mit Postman oder Fiddler ob er überhaupt was sendet.
private Nachricht | Beiträge des Benutzers
brave_snoopy
myCSharp.de - Member



Dabei seit:
Beiträge: 97

Themenstarter:

beantworten | zitieren | melden

Zitat von witte
Na dann schau doch mal mit Postman oder Fiddler ob er überhaupt was sendet.

Vielen vielen Dank. So ein verdammter Mist. Der content ist leer. Das Feld was ich suche, steht im Location Header. Den bekomme ich jetzt natürlich ausgegeben.

Der Tipp mit Postman ist Gold wert. Danke.
private Nachricht | Beiträge des Benutzers