У меня проблема, когда я пытаюсь использовать отдыхающий веб-сервис в C #.
Когда я пытаюсь через Fiddler, он работает нормально.Когда я пытаюсь через HTML / Ajax, он тоже работает нормально.
Когда я пытаюсь через C # (консольное приложение), я получаю сообщение об ошибке.
Это изображение захвачено в скрипаче.Это то, что я получаю, когда пытаюсь через ajax ![enter image description here](https://i.stack.imgur.com/7jsJ7.png)
это изображение также захватывается в скрипач.Это то, что я получаю, когда пытаюсь через C # ![enter image description here](https://i.stack.imgur.com/qwtky.png)
Как видите, поле JSON пусто.
Это мой код C #
string json = JsonConvert.SerializeObject(abc);
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("MyURL"); //==> I am filling it correctly
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PostAsJsonAsync("MyMethod", json).Result; //==> I am filling my method correctly
Но я пробовал несколько других и всегда получал одну и ту же проблему.(ниже приведен код, который я пробовал)
var requisicaoWeb = WebRequest.CreateHttp("MyURL");
requisicaoWeb.Method = "POST";
requisicaoWeb.ContentType = "application/json";
requisicaoWeb.ContentLength = dados.Length;
requisicaoWeb.UserAgent = "Console app";
requisicaoWeb.Accept = "Accept:application/json,text/javascript,*/*;q=0.01";
//precisamos escrever os dados post para o stream
using (var stream = requisicaoWeb.GetRequestStream())
{
stream.Write(MyJson, 0, dados.Length);
stream.Close();
}
//ler e exibir a resposta
using (var resposta = requisicaoWeb.GetResponse())
{
var streamDados = resposta.GetResponseStream();
StreamReader reader = new StreamReader(streamDados);
object objResponse = reader.ReadToEnd();
var post = objResponse.ToString();//JsonConvert.DeserializeObject<Post>(objResponse.ToString());
streamDados.Close();
resposta.Close();
}
Все, что я пробую в C #, поле JSON в Fiddler всегда пустое, а описание «синтаксического представления» всегда «Запрос недействителен».