использование веб-сервисов в 1С с процедурой авторизации #711265


#0 by manaxov83
Всем привет, нужна помощь использования веб-сервисов в 1С. Есть внешний веб сервис, в конфигураторе добавлил объект ws-ссылка, все ОК, получил дерево доступных методов и модель данных(логин и пароль не требовал). Создаю прокси: У каждого пользователя этого веб-сервиса есть учетка, для аутентификации есть метод Authmethod. Метод возвращает строку "true"- из описания все ОК, аутентификация прошла. Далее вызываю нужный мне метод: Прокси.FindCompanyByCode(ИНН,"",0,Рез,Данные); В переменной "рез" получаю строку "Authentication error". Вот тут то и запара, как будто аутентификации в системе не было. Есть пример использования этого сервиса на C#, и прога на C# с моими учетными данными работает: using (ifaxWSReference.iFaxWebService service = new ifaxWSReference.iFaxWebService) { Интересна вот эта строка: Зачем она? Есть ли что то подобное в 1С? Может быть это и есть ключ к моему решению, WS не запоминает что была утентификацию). Так же пробывал пихать логин и пароль в поля прокси, но думаю что это чуть другое: С сервисами работаю первый раз, так что прошу сильно не пинать)).
#1 by dj_serega
а что за ""Authentication error"."? это тебе сервер возвращает?
#2 by oleg_km
Эту строку: можно проверить Fiddler'ом. Да и вообще сравни с фиддлером свою прогу на шарпе и 1С
#3 by manaxov83
а что за ""Authentication error"."? это тебе сервер возвращает? Да, это результат выполнения процедуры FindCompanyByCode записываемый в выходной параметр Рез. Эту строку: можно проверить Fiddler'ом. Да и вообще сравни с фиддлером свою прогу на шарпе и 1С Что такое Fiddler?
#4 by Лефмихалыч
защищенное соединение используется? Тось сервер по https работает?
#5 by Лефмихалыч
не сервер, а сервис
#6 by Лефмихалыч
короче, пока автор отдупляется, напишу, - зачем спросил. Был у нас при переходе на 8.3.3 забавный случай: стрелялся, стало быть, некий помещ... кхмм... Простите, в 8.3.3 у WS Определение и WSПрокси появился последний необязательный параметр ЗащищенноеСоединение. Так вот к вебсервисам, раздаваемым по https, которые замечательно работали с 8.2, пропал коннект по причине неправильной авторизации. Эксперименты показали, что при испоьзовании защищенного соединения, в 8.3.3 нужно в конструкторе в этот последний параметр передавать Новый ЗащищенноеСоединениеOpenSSL( неопределено, неопределено ) я не знаю, почему не работает с значением по умолчанию (параметр, к слову, не обязательный), но вот не работает. Может кому пригодится инфа...
#7 by manaxov83
Нет, работает по http, но все равно ща попробую поиграться с этим параметром. Спасибо.
#8 by angro
куки 8-ка не поддерживает
#9 by angro
у тебя авторизация по ходу в куках хранится, а 8-ка их не поддерживает
#10 by manaxov83
печально как то, а как это можно обойти? есть идеи?
#11 by angro
в FindCompanyByCode добавь пользователя и пароль, в нем и проверяй
#12 by manaxov83
Этот сервис предоставляет сторонняя компания, у меня нет к нему доступа((
#13 by Лефмихалыч
как вариант - зафигачить у себя прокси-сервис не на 1С, который будет уметь авторизоваться там по кукам, а тут - авторизовать без куков. Но это, наверное, слишком хтонично...
#14 by manaxov83
ну тогда уж лучше обертку на C# написать ввиде ВК например, геморно но вариант. Может че нить попроще можно придумать.
#15 by angro
как-то же их в 7-ке использовали, наверняка или через ие или ещё через что-то подобное можно
#16 by Лефмихалыч
можно еще через msscriptcontrol и каким-нить жабаскриптом... яхз...
#17 by catena
У меня работает через     Прокси.Пароль = Пароль; Но это к 1С-овским сервисам. К внешнему сервису когда не удалось (не помню уже по какой причине) создать wsсылку, подключаюсь через COMОбъект("Msxml2.XMLHTTP"). Неудобно, приходится запрос собирать, но работает стабильно.
#18 by manaxov83
кинь примерчик плз.
#19 by catena
Второго? reqST = "[здесь формируем хмл-ку с запросом]"; Ну и дальше читаем ответ.
#20 by catena
Вот еще ссылка, я по ней разбиралась, в принципе там достаточно информации:
#21 by manaxov83
Спасибо, посмотрю
#22 by manaxov83
"reqST = "[здесь формируем хмл-ку с запросом]"" а примерчик запроса ХМЛ можешь кинуть, плз.?
#23 by manaxov83
Все получилось, большое спасибо catena за идею, Msxml2.XMLHTTP    рулит!!! Действительно фишка авторизации данного сервиса в куках, жаль что через ws-ссылки куки не работают, придется морочиться с запросами XMLHTTP.
#24 by Serginio1
Можешь заморочиться с этим
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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