Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> HTTP-сервис ошибка 401          
Bernet Подменю пользователя
сообщение 02.08.18, 9:44
Сообщение #1

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Всем привет.

Имеется конфигурация на 8.3.10 и Apache 2.2
В конфигурации есть HTTP-сервис, база опубликована, при входе через браузер все ок.
Имеется другая база которая обращается через HTTP сервис к первой, на моем домашнем компе все работает, данные летают.
На серваке клиента же, при обращении к HTTP-сервису возвращается результат с кодом состояния - 401 Не Авторизирован.

Так вот вопрос: когда я пишу
HTTPСоединение = Новый HTTPСоединение("АДРЕС", ПОРТ, "ПОЛЬЗОВАТЕЛЬ", "ПАРОЛЬ");

Пользователь и Пароль - это пользователь и пароль от 1С к которой я подключаюсь или это авторизация самого веб-сервера (Апача) ?

Не могу понять в чем проблема - под этим логином и паролем через браузер в базу заходит, помогите пожалуйста найти решение проблемы =)


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

ed.kharkov Подменю пользователя
сообщение 02.08.18, 10:08
Сообщение #2

Говорящий
Иконка группы
Группа: Местный
Сообщений: 58
Из: Бровары
Спасибо сказали: 20 раз
Рейтинг: 0

Bernet @ Сегодня, 10:44 * ,
Добрый день.

HTTPСоединение = Новый HTTPСоединение("АДРЕС", ПОРТ, "ПОЛЬЗОВАТЕЛЬ", "ПАРОЛЬ");

ПОЛЬЗОВАТЕЛЬ и ПАРОЛЬ - это пользователь и пароль на указанном сервере <АДРЕС>.

Bernet Подменю пользователя
сообщение 02.08.18, 10:13
Сообщение #3

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

ed.kharkov @ Сегодня, 11:08 * ,
все равно не дошло, если Адрес = "localhost/UPP/hs/ИМЯМОЕГОСЕРВИСА" то Пользователь - это Пользователь Апача или 1С?
Не понятно в синтаксис-помощнике написали. Тут идет обращение к веб-серверу, но при этом дальше перекидывает на опубликованный сервис, в итоге чья авторизация падает?


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

ed.kharkov Подменю пользователя
сообщение 02.08.18, 10:24
Сообщение #4

Говорящий
Иконка группы
Группа: Местный
Сообщений: 58
Из: Бровары
Спасибо сказали: 20 раз
Рейтинг: 0

Bernet @ Сегодня, 11:13 * ,
Как вариант можно еще попробовать использовать защищенное соединение, у меня было пару случаев, когда это помогло.

ssl = Новый ЗащищенноеСоединениеOpenSSL;
HTTPСоединение = Новый HTTPСоединение("АДРЕС",ПОРТ,"ПОЛЬЗОВАТЕЛЬ","ПАРОЛЬ",,,ssl);

Bernet Подменю пользователя
сообщение 02.08.18, 10:44
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

ed.kharkov @ Сегодня, 11:24 * ,
ssl в конфиг файле Апача закомментирован,не думаю что в нем проблема


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Vofka Подменю пользователя
сообщение 02.08.18, 10:45
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Bernet, код бы полностью.

Bernet Подменю пользователя
сообщение 02.08.18, 11:02
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Vofka @ Сегодня, 11:45 * ,
&НаСервере
Процедура АвторизоватьсяНаСервере()
    
    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, Символы.Таб);
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    
    ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
    
    ЗаписьJSON.ЗаписатьНачалоОбъекта();
    
    ЗаписьJSON.ЗаписатьИмяСвойства("user");
    ЗаписьJSON.ЗаписатьЗначение("НЕКИЙ_ПОЛЬЗОВАТЕЛЬ_ВСПРАВОЧНИКЕ");
    
    ЗаписьJSON.ЗаписатьИмяСвойства("pass");
    ЗаписьJSON.ЗаписатьЗначение("НЕКИЙ_ПАРОЛЬ_ВСПРАВОЧНИКЕ");        
        
    ЗаписьJSON.ЗаписатьКонецОбъекта();
    
    //ЗаписьJSON.Закрыть();
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    // ОТПРАВЛЯЕМ ЗАПРОС И ПОЛУЧАЕМ ОТВЕТ
    Результат = ОтправитьСообщениеJSON(СтрокаJSON, "/ИМЯМОЕГОСЕРВИСА", "POST", Истина);        
    Сообщить(Результат.КодСостояния);
    
КонецПроцедуры

&НаСервере
Функция ОтправитьСообщениеJSON(СтрокаJSON, АдресРесурса, Метод, ТребуетсяАвторизация = Истина) Экспорт
    
    HTTPСоединение = Новый HTTPСоединение("localhost/UPP/hs", МОЙПОРТАПАЧА, "ПОЛЬЗОВАТЕЛЬ_ИБ", "ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_ИБ");     
    
    HTTPЗапрос       = Новый HTTPЗапрос(АдресРесурса);
    HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, "UTF-8", ИспользованиеByteOrderMark.НеИспользовать);
    
    Попытка
        Если Метод = "POST" Тогда
            Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); // POST        
        ИначеЕсли Метод = "GET" Тогда     
            Результат = HTTPСоединение.Получить(HTTPЗапрос); // GET
        КонецЕсли;
    Исключение
        Сообщить(ОписаниеОшибки());        
    КонецПопытки;
    
    Возврат Результат;    
    
КонецФункции


Если отсечь константы и все такое, то получается на выходе такая шняга. На домашнем компе такое работает, на рабочем серваке 401 - Не авторизирован, не понимаю чью авторизацию не проходит запрос.
В конфиге апача все что менялось - это порт на котором он висит, все остальное грубо говоря по дефолту.


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Vofka Подменю пользователя
сообщение 02.08.18, 11:59
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Не знаю, как это могло работать.

HTTPСоединение = Новый HTTPСоединение("localhost/UPP/hs", МОЙПОРТАПАЧА, "ПОЛЬЗОВАТЕЛЬ_ИБ", "ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_ИБ");

Первый параметр должен быть вида site.com. В случае с локалхост это, наверное, должно быть либо localhost либо 127.0.0.1. А АдресРесурса должен быть в виде UPP/hs/ИМЯМОЕГОСЕРВИСА/УРЛ_ИЗ_ШАБЛОНА (возможно со слешем вначале).

Пользователь и пароль - это из 1С.

Спасибо сказали: Bernet,

Bernet Подменю пользователя
сообщение 02.08.18, 13:10
Сообщение #9

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Vofka @ Сегодня, 12:59 * ,
фак, но на домашнем же обмены шли именно при таком коде.... Вроде бы вернуло 200 типа все ок, попробую обменяться полностью

Сообщение отредактировал Bernet - 02.08.18, 13:13


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 30.03.24, 4:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!