2017-05-30 5 views
0

問題が発生した場合、PostAsJsonAsyncメソッドは500の内部サーバーエラーを返しますが、メソッドを送信しようとしているJSONは正しいです。なぜならPostmanを使用すると、同じJSONと私はすでに確認されPostAsJsonAsyncメソッドの問題

client.BaseAddress = new Uri(endPoint); 
client.DefaultRequestHeaders.Clear(); 
client.DefaultRequestHeaders.TryAddWithoutValidation("ZUMO-API-VERSION",2.0.0"); 
client.DefaultRequestHeaders.TryAddWithoutValidation("RM-EXT-KEY", key); 

var content = new StringContent(JsonConvert.SerializeObject(NotifiedUser), 
        Encoding.UTF8, "application/json"); 
var response = await client.PostAsJsonAsync(endPoint, content); 

:サーバはそれを受けて、私は私が主題について検出されたすべての質問を読んで、私はいったい私の問題であり、私はローカルホストとして実行している見つけることができませんが、ここではコードスニペットです両方のインスタンスでTryAddWithoutValidationがtrueを返すので、PostAsJsonAsyncメソッドのすべてのパラメータが正しいようになります。

ありがとうございました!

+0

をしていないPostAsJson何かをやって表示されます。クラスオブジェクトをメソッドPostAsJsonAsyncに直接渡すことができます。 https://msdn.microsoft.com/en-us/library/system.net.http.httpclientextensions.postasjsonasync(v=vs.118).aspx –

+0

私は知っています、それは以前のようでした。それは何も修正しません。私はメソッドが奇妙な方法でシリアル化されていると思って、それをチェックするためにメソッドに入る前にシリアル化を行ったが、問題は持続する – user3533910

答えて

0

client.PostAsJsonAsync(endPoint、content)の代わりにclient.SendAsyncを試したことがありますか? 私は外部のJavaサービスに話し同様の問題があったとPostAsJsonは400を返し、

するvar request2 =新しいHttpRequestMessage(HttpMethod.Post、URI) { コンテンツ=新しいStringContent(JsonConvert.SerializeObject(apdRequest)、エンコードに変更。 UTF8、 "application/json") };

var response = client.SendAsync(request2).Result;

、それが仕事を始めた...あなたがJSON文字列にクラスを変換する必要はありません右

関連する問題