myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » Warum liefert Rest Service beim POST keine Daten?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Warum liefert Rest Service beim POST keine Daten?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
brave_snoopy
myCSharp.de-Mitglied

Dabei seit: 11.02.2011
Beiträge: 90


brave_snoopy ist offline

Warum liefert Rest Service beim POST keine Daten?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:

C#-Code:
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:

C#-Code:
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?
25.11.2020 07:28 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
HansFred
myCSharp.de-Mitglied

Dabei seit: 19.10.2020
Beiträge: 48


HansFred ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

es liegt ganz sicher nicht am async
25.11.2020 09:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
brave_snoopy
myCSharp.de-Mitglied

Dabei seit: 11.02.2011
Beiträge: 90

Themenstarter Thema begonnen von brave_snoopy

brave_snoopy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von HansFred:
es liegt ganz sicher nicht am async

Woran könnte es dann liegen ?
25.11.2020 09:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
witte
myCSharp.de-Mitglied

Dabei seit: 03.09.2010
Beiträge: 936


witte ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Na dann schau doch mal mit Postman oder Fiddler ob er überhaupt was sendet.
25.11.2020 10:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
brave_snoopy
myCSharp.de-Mitglied

Dabei seit: 11.02.2011
Beiträge: 90

Themenstarter Thema begonnen von brave_snoopy

brave_snoopy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
25.11.2020 11:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Monate.
Der letzte Beitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.01.2021 08:06