BG Development


  Reply to this topicStart new topicStart Poll

> Postman request work to Azure, Raspberry Pi not
Momchilov
Публикувано на: 21-09-2022, 15:23
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 201
Регистриран на: 22.02.10



Здравейте,

Няколко дни си блъскам главата и не успявам да намеря решение на един изглеждащ тъп проблем.

Правя миграция от .net core 2.2 към .net core 6. Сайтът е хостнат в Azure.
Имам едно API, което на всеки 10 секунди е рекуествано от няколко Raspberry Pi body-то е JSON и съответно връща JSON.

Направил съм миграцията на локал, изтествал съм всичко, което може работи си прилично.
Момента, в който обаче кача(с малко зор) всичко в Azure. Request-ите на всеки 10 секунди изобщо не влизат, няма никакви логове за грешки. Обаче ако направя request от Postman си работи всичко, както трябва и не мога да разбера, защо raspbery-то не влизат... проблемът е че не мога да го насоча към локал хоста или към друг събдомейн за тестове... не е мой кода.

Благодарен съм за отделеното време и за всяка сламка, която получа за да разбера, защо Azure блокира може би request-тите от razber-ито но от Postman, не.


CODE
   [Route("api/[controller]")]
   [***ApiController]
   public class ***ApiController : ControllerBase
   {
       private readonly ILogger<***ApiController> _logger;


       public ***ApiController(ILogger<***ApiController> logger)
       {
           _logger = logger;
       }

       [HttpPost]
       public string GetWithBody([FromBody] S***Get s***Get)
       {


--------------------
PMEmail Poster
Top
rvc
Публикувано на: 21-09-2022, 15:33
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2627
Регистриран на: 13.05.11



вероятно има някакъв firewall който идентифицира погрешно устройствата и не приема заявките.
провери какви хедъри изпращаш с postman и с устройствата.
PMEmail PosterUsers Website
Top
Momchilov
Публикувано на: 21-09-2022, 15:43
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 201
Регистриран на: 22.02.10



QUOTE (rvc @ 21-09-2022, 15:33)
вероятно има някакъв firewall който идентифицира погрешно устройствата и не приема заявките.
провери какви хедъри изпращаш с postman и с устройствата.

Благодаря за отговора и аз нещо такова предполагах, но защо при .net core 2.2 работи, но при .net 6, не работи. Иначе ще опитам да открия има ли начин да видя хедърите на устройствата.


--------------------
PMEmail Poster
Top
thrawn
Публикувано на: 21-09-2022, 15:45
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3431
Регистриран на: 17.01.17



спри сървъра и вместо него пусни netcat или нещо подобно да слуша на съответния порт.
PMEmail Poster
Top
Momchilov
Публикувано на: 03-10-2022, 12:07
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 201
Регистриран на: 22.02.10



Оправих проблема.

Разбира се оказа се нещо уникално тъпо.

Пи-то ми изпраща JSON, който има TimeStamp под формата на long, но в портала е записан като string, а понеже изобщо не използва в кода си TimeStamp-a, не избива никъде грешка, която да я хвана, както хванах другите подобни, а избива само на сървъра, като общ Bad Request. Смених си типа и всичко работи, както трябва. А в постмана го изпращам като стринг и затова си минава без проблем.

Та в заключение това е проблема при .NET 6 конвертирането на JSON. Защото при .нет коре 2 си работи без проблем.

"The JSON value could not be converted to System.DateTime. Path: $.DateFrom | LineNumber: 3 | BytePositionInLine: 34."


--------------------
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0