HttpClient continue de recevoir de mauvaises demande

Je vais avoir un moment difficile la résolution de mon Mauvais Demander des réponses à partir d'une api REST quand je suis en création d'un client à l'aide de C#. J'ai testé le RESTE de l'api à l'aide de Fiddler 2 et l'exécution par là, mais quand je crée la même chose par programmation-je obtenir 400 de réponse. Voici mon Violoniste compositeur test:

URL:

https://<third-party-rest-client>/api/v2/job

Voici mes en-Têtes

User-Agent: Fiddler
Content-Type: application/json
Accept: application/json
icSessionId: PomCSBCVU4VgXCJ5    
Content-Length: 123

Et voici le corps je t'envoie une requête POST avec

{
"@type": "job",
"taskId":"0000G20G000000000002",
"taskName":"TestReplication",
"taskType":"DRS",
"callbackURL":""
}

Ce POST revient avec une réponse 200 et un corps de réponse, ce qui est parfait, mais quand j'essaie de simuler la même chose en C# avec ce code:

public JobResponse RunJob(JobRequest jobRequest)
    {
        try
        {
            client = new HttpClient();
            client.BaseAddress = new Uri(loggedUser.serverUrl + "/");
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.TryAddWithoutValidation("icSessionId", icSessionId);

            string message = JsonConvert.SerializeObject(jobRequest);
            message = message.Insert(1, "\"@type\": \"job\",");
            Console.WriteLine(message);
            var response = client.PostAsJsonAsync("api/v2/job", message).Result;
            if (response.IsSuccessStatusCode)
            {
                return response.Content.ReadAsAsync<JobResponse>().Result;
            }
            else
            {
                var result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        return null;
    }

Cela revient comme un 400. Quelqu'un a une idée quel est le problème avec mon code?

Que faites-vous à partir de votre Console.WriteLines? Ce qui revient dans les 400 corps?
L'API accepter Majuscules JSON valeurs? Le HttpClient envoie majuscules fieldnames par défaut.
vous n'avez pas besoin de sérialiser l'objet. Vous pouvez passer directement à client.PostAsJsonAsync. Aussi, sur votre loggedUser.serverUrl avez-vous quelque chose comme "http://servername". Vous pouvez voir quelques exemples dans le asp.net/web-api/overview/advanced/...
Je reçois du html qui ressemble à ceci: <html><head><title>Erreur</title></head><body><h4>URI: /saas/api/v2/emploi</h4><h4>le Code d'État: 400</h4></body></html> Aussi, l'api accepte les minuscules valeurs je l'ai montré. Dites-vous que HttpClient est en train de changer à capitalisés valeurs?

OriginalL'auteur Michael Sheely | 2016-05-22