Ошибка 400 при работе с HTTPs соединением #807542


#0 by Paradox
Добрый день! Платформа: 8.3.10.2299. До перехода на HTTPs, обращался к веб-сервису без проблем по HTTP соединению (авторизация доменная): Когда сделали HTTPs, то доделал строку соединения до вида: HTTP = Новый HTTPСоединение(ИмяСервера, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL, Истина); Методы веб-сервиса и структура базы веб-сервиса не менялась. Просто администраторы сделали HTTPs. Теперь при выполнении PUT-запроса получаю ошибку 400. Подскажите, пожалуйста, в чем может быть дело? Проблема на стороне веб-сервиса или я что-то не правильно указал в HTTPСоединении? Текст ошибки: Единицы измерения; {ВнешняяОбработка.ВыгрузкаВВебСервис.Форма.Форма.Форма}: Ошибка выгрузки. Код ошибки: 400 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""... »»"> <BODY><h2>Bad Request - Invalid Verb</h2> <hr><p>HTTP Error 400. The request verb is invalid.</p> </BODY></HTML>
#1 by Филиал-msk
> The request verb is invalid Не надо в него PUT, не хочет он этого.
#2 by Paradox
а ведь до этого (до перехода на HTTPs) именно PUT-запрос происходил из 1С в сервис и все отлично было. К администратору надо обратиться?)
#3 by Филиал-msk
Не знаю, что у вас там под веб-сервисом понимается, но SOAP, он какбе вообще-то POST подразумевает. Пытай админов, почему типы запросов стали по разному обрабатываться. А то сейчас окажется что, например, перед аппликейшн сервером возник какой нить энджинх для поддержки SSL со своими представлениями о мире.
#4 by Paradox
не совсем понимаю в веб-технологиях, но разработчики веб-сервиса сделали сервис не в 1С. Сказали выгружать данные в сервис PUT-запросами, а тело запроса в формате JSON. До HTTPs, все отлично работало. Вчера перевели на защищенное соединение и пипец...походу надо копать именно сам сервис, что-то в нем случилось.
#5 by Paradox
The request verb is invalid Могу я судить по этому сообщению, что 1С устанавливает соединение защищенное и тут уже сам сервер, на котором поднят веб-сервис отвергает мой PUT-запрос?
#6 by Филиал-msk
Да, SSL работает. Ты успешно попадаешь на веб сервер со свои непристойным предложением пута.
#7 by Филиал-msk
Скорей всего одновременно с накатыванием SSL чтойто порубили во избежание или по недосмотру. Одмины могут.
#8 by sitex
А вы точно тело в json отправляете ? попробуйте на этот сервис отправить PUT запрос  через Postman.
#9 by Филиал-msk
Postman отстой, пользуйте Fiddler
#10 by sitex
Аргументируй . Если не умеешь им пользоваться это не означает что продукт плох.
#11 by Paradox
по ссылке, которую предоставили разработчики веб-сервиса, открывается Swagger UI, где я могу сделать GET, PUT запросы. Вот через этот интерфейс PUT нормально выполняется.
#12 by Филиал-msk
Требует дрочки вприсядку при организации тестирования. Продукт плох.
#13 by sitex
ну как я и думал аргумент весомый.
#14 by sitex
Пробовали "WinHttp.WinHttpRequest.5.1" ?
#15 by Филиал-msk
Интерфейс на https? Ты точно в нужный сервер попадаешь своим начальным CONNECT на https?
#16 by Paradox
не пробовал
#17 by Филиал-msk
А ты ценитель, однако.
#18 by Paradox
это как понять? Я делаю в 1С, на HTTP работало без проблем. После перехода на HTTPs в коде добавил только объявление
#19 by sitex
Фи Фи фи забыл добавить.
#20 by Филиал-msk
Попробуй. Там дело в том, что при установке ssl сначала вылетает CONNECT, а твой PUT пойдет уже внутри канала. Если сервер CONNECT не ожидает, ты получишь такую же ошибку. Вдруг он ждет SSL на 8443 каком нибудь.
#21 by Paradox
Вот сама процедура отправки запроса. Буду пробовать win http.
#22 by sitex
Я думаю разрабы сообщили бы что у них запросы завернуты на другой порт.
#23 by sitex
Как вариант вызвать на прямую HTTP.ВызватьHTTPМетод("PUT",ЗапросPUT);
#24 by Paradox
Капец...заработало...в чем разница между Записать и ВызватьHTTPМетод во втором случае работает, а в первом нет.
#25 by Paradox
и при этом в "PUT " - надо обязательно пробел...
#26 by sitex
Значит что то в 1 случае в заголовках сто то не то. сравните.
#27 by Paradox
так заголовки такие же остаются...или что-то другое имеется ввиду?
#28 by sitex
Вообще хорошо бы на стороне сервера узнать что в логах падает в первом случае. Спросите у разрабов. Может в 1 случае там вообще не PUT а что то другое.
#29 by sitex
НА счет этого я задавал вопрос в поддержку , внятного ответа так и не получил в чем разница. Если кто знает в чем разница с пробелом или нет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С