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
Core 3.0: WebApi.HttpClient übergibt null
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 786

Themenstarter:

Core 3.0: WebApi.HttpClient übergibt null

beantworten | zitieren | melden

Hallo zusammen,

schon 1000 mal berührt, tausend mal hat's geklappt.
Nun hat's Zoom gemacht.

Doch zur Sache:
Ich habe eine kleine .NET Core 3.0 WebApi Anwendung.

Hier gibt es im Controller eine Funktion, welche einen anderen WebService aufruft.
Das ganze wird mit dem Postman getestet und die Daten werden auch korrekt übergeben.

Der Controller sieht so aus:


 [Route("api/[controller]")]
    [ApiController]
    public class SapRueckmeldungsController : ControllerBase
    {
....
...
....
 [HttpPost]
        [Route("CheckRueckmeldung")]

        public  ActionResult<SapRueckmeldung> CheckRueckmeldung(SapWriteData data)
        {

data ist korrekt gefüllt.
In diesem ist dann folgende Funktion:

 

HttpClient client = new HttpClient
            {
                BaseAddress = _baseAdress
            };

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = client.PostAsJsonAsync(_extension, data).Result;

In der letzten Zeile, die Variable data ist gefüllt und stellt ein Model "SapWriteData" dar.

Diese Webanwendung wird damit aufgerufen:


   public IHttpActionResult GetColorNew([FromBody]SapWriteData value)

Value ist hier aber immer null und das ist das Problem.


Kann es am "FromBody" liegen?
Eigentlich ja nicht, denn diese Funktion und andere rufe ich auf exakt dieselbe Weise ziemlich oft in anderen Funktionen in anderen Projekten auf.

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



Dabei seit:
Beiträge: 786

Themenstarter:

beantworten | zitieren | melden

Also am FromBody liegt es nicht.
Übergabe, d.h. value = null.

Dann muss es daran liegen, dass ich von einem Webservice aus einen anderen Webservice aufrufe?
Irgendwas mit Threads?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von schuppsl am .
private Nachricht | Beiträge des Benutzers
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 786

Themenstarter:

beantworten | zitieren | melden

Lösung:

zwar verstehe ich es nicht, aber ich musste vorher die Daten noch zu Json umwandeln:


 resJson = new StringContent(content: JsonConvert.SerializeObject(data),
                            encoding: Encoding.UTF8,
                            mediaType: "application/json");
private Nachricht | Beiträge des Benutzers