|
Проблема аутентификации при работе с WEB-сервисами | ☑ | ||
---|---|---|---|---|
0
Черников
10.07.13
✎
12:40
|
В моей конфигурации «ПоставщикWS» WEB_сервисы (причем некоторые рекомендовало 1С) , из которых все успешно работают при вызове из конфигурации «ПолучательWS> в случае, если обе базы , как было первоначально, не содержат пользователей, а конструкторы WSОпределения содержат только первый аргумент – ссылку на публикацию сервиса.
Далее я ввел в конфигурацию «ПоставщикWS» справочник “Пользователи” из рабочей системы, создал роль «Администратор» и дал ей все права на все, что есть в системе. Зарегистрировал одного пользователя «UserWS» с паролем “abcde” и дал ему роль администратор. Теперь вызов ранее работавших сервисов из не измененной конфигурации «ПользовательWS» стал приводить к отказу с сообщением о сбое в конструкторе WSОпределения по причине «Аутентификация пользователя не выполнена». Я попробовал в соответствии с статьей Синтакс-помощнике о конструкторе WSОпределения добавить “UserWS”,”abcde” в аргументы конструктора. После этого ошибка переместилась в строку «Ответ = Прокси…» с той же причиной «Аутентификация пользователя не выполнена». Что делать? |
|||
1
Serginio1
10.07.13
✎
12:58
|
После получения прокси нужно добавить
Пароль для определения нужен для получения файла wsdl Прокси.Пользователь = "UserWS"; Прокси.Пароль = "abcde"; а для прокси уже для вызова |
|||
2
abtat
10.07.13
✎
16:49
|
Я понял Ваш ответ как:
"Пароль для определения нужен для получения файла wsdl После получения прокси нужно добавить уже для вызова Прокси.Пользователь = "UserWS"; Прокси.Пароль = "abcde";" Ввел правку: Определения = Новый WSОпределения("http://localhost/WebServicesDemo/ws/TestVegaSN.1cws?wsdl","UserWS", "abcde"); Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org/VEGA", "TestVegaSN", "TestVegaSNSoap"); Прокси.Пользователь = "UserWS"; Прокси.Пароль = "abcde"; Ответ = Прокси.ПроверитьСерНомер(СтрокаНомера); На строке Ответ получаю ошибку: {Обработка.ПроверкаVEGAНомера.Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (ПроверитьСерНомер) Ответ = Прокси.ПроверитьСерНомер(СтрокаНомера); по причине: по причине: Ошибка вызова операции сервиса: {http://www.sample-package.org/VEGA}:TestVegaSN:ПроверитьСерНомер() по причине: Ошибка SOAP сервера: Нарушение прав доступа к операции Web-сервиса: {http://www.sample-package.org/VEGA}:TestVegaSN:ПроверитьСерНомер() Проверив свойства Прокси перед обращением к сервису я убедился, что действительно, логин и пароль не передаются Прокси через WSОпределение и их надо заполнить отдельно, но это не помогло. Что еще можно попробовать, чтобы понять ситуацию? |
|||
3
Serginio1
10.07.13
✎
16:53
|
А ты доступ к операции прописал?
То есть роли-Web-сервисы-твой сервис-ПроверитьСерНомер- использование галочка |
|||
4
abtat
11.07.13
✎
15:38
|
Спасибо, Serginio1, за совет. Создавая роль "Администратор" я не спустился до функции. Сервисы работают, осталось только включить логин и пароль в J-Script, чтобы избежать запроса браузером у пользователя.
|
|||
5
Serginio1
11.07.13
✎
16:49
|
Можешь прописасать в default.vrd
юзера и пароль ib='Srvr="SERVER";Ref="TEST";usr=Администратор;pwd=*****' |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |