Вопрос

Веб-сервисы

Есть вот такой CURL как сделать чтобы его правильно считал веб процесс ?curl -X POST "https://api.dev.decathlon.ru/carrier-aggregator/orders/search" -H  "accept: application/json" -H  "Authorization: " -H  "Content-Type: application/json" -d "{ \"filters\": { \"statuses\": [ \"DRAFT\" ],\"carriers\": [ \"BOXBERRY\" ]},\"full\": true,\"pageable\":{ \"limit\": 10, \"page\": 0, \"size\": 2 },\"sort\": { \"direction\": \"asc\", \"key\": \"id\" }}"

Стандартный парсер  создает такую структуру https://prnt.sc/rycksm

Как проверить правильно он делает запрос или нет ?

При отправки запроса выдает такую ошибку 

Terrasoft.Common.UnsupportedTypeException: Тип "System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" не поддерживается

   at Terrasoft.Common.CompositeObject.Add(String key, Object value)

   at Terrasoft.Common.CompositeObjectListUtilities.Transform(ICompositeObject source, IReadOnlyDictionary`2 keyMap)

   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()

   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)

   at Terrasoft.Common.CompositeObjectListUtilities.Transform[T](IEnumerable`1 source, IReadOnlyDictionary`2 keyMap)

   at Terrasoft.Common.CompositeObjectListUtilities.Transform(ICompositeObject source, IReadOnlyDictionary`2 keyMap)

   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()

   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)

   at Terrasoft.Common.CompositeObjectListUtilities.Transform[T](IEnumerable`1 source, IReadOnlyDictionary`2 keyMap)

   at Terrasoft.Services.WebServiceUserTaskImplementation.g__FillEnumerableParameter|3_2(ProcessSchemaParameter parameter, IEnumerable enumerableValue, <>c__DisplayClass3_0& )

   at Terrasoft.Services.WebServiceUserTaskImplementation.FillResponseParameters(IServiceClientResponse response, ProcessWebService userTask, IProcessParametersMetaInfo schema)

   at Terrasoft.Services.WebServiceUserTaskImplementation.Execute(ProcessWebService userTask, ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessActivity.ExecuteElement(ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context)

Как сделать такой запрос ?

Нравится

1 комментарий

Судя по упоминанию в стеке FillResponseParameters, дело в параметрах, которые сервис возвращает в ответ. Проверьте, всё ли правильно настроено в них.

Показать все комментарии