Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите разобраться c error 400: bad request. / 5 сообщений из 5, страница 1 из 1
26.09.2017, 21:18
    #39526758
rigor mortis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться c error 400: bad request.
Привет,
что-то голову уже сломал. Запрашиваю action из WebAPI:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[RoutePrefix("client")]
controller
        [HttpPost]
        [Route("find-client-by-xml")]
        public async Task<IHttpActionResult> FindClientByReqs(FindClient request)
        {
            ...

            return Ok();
        }


который принимает объект FindClient

Код: c#
1.
2.
3.
4.
5.
6.
    [XmlRoot("find")]
    public class FindClient
    {
        [JsonProperty("tax_number")]
        [XmlElement("TaxNumber")]
        public string TaxId { get; set; }


...

вызываю так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:60308/client/find-client-by-xml");
            byte[] bytes;
            bytes = System.Text.Encoding.ASCII.GetBytes("<TaxNumber>123</TaxNumber>");
            request.ContentType = "text/xml; encoding='utf-8'";
            request.ContentLength = bytes.Length;
            request.Method = "POST";
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(bytes, 0, bytes.Length);
            requestStream.Close();

            HttpWebResponse response;
            response = (HttpWebResponse)request.GetResponse();



и на GetResponse валится ошибка. В трейсере показывает ошибку запроса:

Код: xml
1.
2.
3.
4.
5.
6.
7.
  
<Error>
   <Message>Запрос недопустим.</Message> 
 <ModelState>
   <request>В документе XML (1, 12) присутствует ошибка.</request> 
 </ModelState>
</Error>



Из-за чего может быть? Что не так с XML, не пойму.
...
Рейтинг: 0 / 0
26.09.2017, 21:29
    #39526760
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться c error 400: bad request.
ну ты серилизуй свой класс в хмл и увидишь разницу.
...
Рейтинг: 0 / 0
26.09.2017, 21:51
    #39526764
rigor mortis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться c error 400: bad request.
handmadeFromRu,

передал как сериализовалось:

Код: xml
1.
2.
3.
4.
5.
  <?xml version="1.0" ?> 
 <find xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <TaxNumber>123</TaxNumber> 
  <RegistrationCountry>Count</RegistrationCountry> 
 </find>



Теперь такое:
Код: xml
1.
2.
3.
4.
5.
- <Error>
  <Message>An error has occurred.</Message> 
     <ExceptionMessage>Ссылка на объект не указывает на экземпляр объекта.</ExceptionMessage> 
     <ExceptionType>System.NullReferenceException</ExceptionType> 
  </Error>



Это если в контроллере пытаться получить объект:

Код: c#
1.
2.
3.
4.
5.
6.
       [HttpPost]
        [Route("find-client-by-xml")]
        public IHttpActionResult GetClient(FindClientByReqsRequest request)
        {
            return Ok(request.TaxId);
        }



Здесь что не так?
...
Рейтинг: 0 / 0
26.09.2017, 22:35
    #39526773
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться c error 400: bad request.
rigor mortis,

новая модель FindClientByReqsRequest , где её кишки?
...
Рейтинг: 0 / 0
26.09.2017, 22:45
    #39526776
rigor mortis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться c error 400: bad request.
handmadeFromRu, модель та же, просто я накосячил. В остальном, спасибо за помощь, не была настроена сериализация:

Код: c#
1.
2.
            XmlMediaTypeFormatter xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
            xml.UseXmlSerializer = true;
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите разобраться c error 400: bad request. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]