Добрый день!
Делаю интеграцию с WooCommerce через 1с. Получаю список заказов через API v3.
На одном тестовом сервер через postman и 1с всё работает. Заказы фильтруются.
На тестовом сервере клиента через postman работает, а в 1с внезапно - нет. Получаю список всех заказов сразу.
Смотрел fiddlerом и разницы не нашел, хотя заголовки скопировал с postman. Может кто-то сталкивался с таким?
Если бы дело было в 1с, то не работало бы на обоих тестовых магазинах. Если бы дело было в магазине, то тогда бы в одном из postman не работало бы тогда.
Если бы дело было в 1с, то не работало бы на обоих тестовых магазинах. Если бы дело было в магазине, то тогда бы в одном из postman не работало бы тогда.
Значит, надо искать - чем 1С в одном магазине отличается от 1С в другом
(2) Когда я имею в виду "магазин", то подразумеваю сайт с поднятым woocommerce, а не машину с 1с. Машина одна и та же , 1с одна и та же. Меняю только адрес магазина. Кстати, через WinHttp.WinHttpRequest из 1с тоже всё работает. А вот штатными средствами 1с такой затык.
(12) я работаю со 1с как клиент api wordpress c WooCommerce(интернет магазин). Есть 2 сайта. Один поднял я, другой заказчика. Они не идентичны. Компьютер с которого делаю запросы к api один, платформа одна, база одна. При подключении ошибок нет. Но при get запросе из 1с на сайт заказчика не работают фильтры. Но при таком же запросе из postmana, работают. В теме привел перехваченные из сетевого траффика запросы, которые посылают postman и 1с. Запросы идентичны. Думал, может есть ещё какие-то способы получить больше информации о запросах со стороны клиента. Всё ли я посмотрел со стороны клиента? Если осталось посмотреть на логи сайта, то куда конкретно смотреть?
(16) авторизация basic с парой ключ/пароль. Она проходит нормально, иначе была бы ошибка 401 и ничего не возвращала бы. Сами запросы проходят, json часть из 1с уходит. Это видно и по тому, что один сайт возвращает инфу в учетом фильтров, и по перехвату траффика. Но до другого сайта или не доходит, или игнорируется им. При этом точно такой же запрос с того же компьютера на тот же сайт, но из postmanа обрабатывается сайтом и ответ приходит с учетом фильтров.
(21) Можно, наверное. Но это надо тратить время на поиск места, где смотреть информацию со стороны сайта. Логи запросов со стороны клиента доступны (в первом сообщении пример). Из 1с посылать для интеграции с интернет-магазином - получать список заказов, загружать их в 1с и менять статус в интернет-магазине. Postman - это удобная программа для отладки и тестирования API (замена командной строки и curl).
(5) От платформы. Сейчас уже не обрезает платформа. На сайте, где работает, спокойно уходит json в get. А на той же платформе, в той же базе, на том же компьютере, но на другой сайт из 1с не уходит. Но при этом через postman уходит. Я привел в посте инфу из fiddlerа. Он перехватывает пакеты. Что из 1с, что из postmanа пакеты уходят одинаковые с json. Но в них явно должна быть какая-то разница, если сайт из постмана принимает, а из 1с нет. Как найти эту разницу - не понимаю.
(6) Да. В курсе. Перед тем как пост написать проверил через COM и это работало на всех сайтах. Но под него нужно переписывать модуль. Не критично, но неприятно. И на будущее нужно знать, в чем дело.
(13) На самом деле ТС всё понятно спросил. Ловил аналогичную проблему, но на своём проекте это был внутренний http-сервис, поэтому особо не разбирался и просто переделал на POST.
(13) ... как и большая часть вопросов в интернете... Обычно моих знаний хватает, чтобы продиагностировать проблему со своей стороны и погуглить решение. Но тут прям тупик... В 3 из 4 тестовых ситуациях все работает, а в 4 на проде - нет. Осталось лезть в логи сайта, а очень не хочется. И переделывать под WinHttp.WinHttpRequest не хочется, но пока придется.
Вангую, что и закончится это так же, как в той самой большей части: спрашивающий (а кто же еще?) сам найдет мааахонькое такое отличие "тестов" от "прода", в котором вся загвоздка и выдаст $m тому, кто решил проблему - т.е. себе, что на 100% логично.
Ну, а нам, неудачливым гадателям, может быть, расскажет - где собака порылась? ;-)
24.
bayselonarrend
212902.02.24 14:08 Сейчас в теме
(22)Я с WooCommerce не работал, но работаю с разными API. Самая абсурдная ошибка за последнее время - передавался URL к JSON файлу, записанному из 1С. Кодировка была UTF-8, только при открытии файла через notepad++ показывало кодировку UTF-8 с BOM - было лишних 3 байта. Из-за этого может полететь и ошибка кодировки и Content-length, если он был просто вставлен из Postman. В интернете много всяких вариантов есть как убрать, возможно поможет