В моей конфигурации «ПоставщикWS» WEB_сервисы (причем некоторые рекомендовало 1С) , из которых все успешно работают при вызове из конфигурации «ПолучательWS> в случае, если обе базы , как было первоначально, не содержат пользователей, а конструкторы WSОпределения содержат только первый аргумент – ссылку на публикацию сервиса.
Далее я ввел в конфигурацию «ПоставщикWS» справочник “Пользователи” из рабочей системы, создал роль «Администратор» и дал ей все права на все, что есть в системе. Зарегистрировал одного пользователя «UserWS» с паролем “abcde” и дал ему роль администратор. Теперь вызов ранее работавших сервисов из не измененной конфигурации «ПользовательWS» стал приводить к отказу с сообщением о сбое в конструкторе WSОпределения по причине «Аутентификация пользователя не выполнена». Я попробовал в соответствии с статьей Синтакс-помощнике о конструкторе WSОпределения добавить “UserWS”,”abcde” в аргументы конструктора. После этого ошибка переместилась в строку «Ответ = Прокси…» с той же причиной «Аутентификация пользователя не выполнена».
Что делать?
Я понял Ваш ответ как:
"Пароль для определения нужен для получения файла 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)}: Ошибка при вызове метода контекста (ПроверитьСерНомер)
Ответ = Прокси.ПроверитьСерНомер(СтрокаНомера);
по причине:
Проверив свойства Прокси перед обращением к сервису я убедился, что действительно, логин и пароль не передаются Прокси через WSОпределение и их надо заполнить отдельно, но это не помогло. Что еще можно попробовать, чтобы понять ситуацию?
Спасибо, Serginio1, за совет. Создавая роль "Администратор" я не спустился до функции. Сервисы работают, осталось только включить логин и пароль в J-Script, чтобы избежать запроса браузером у пользователя.
Можешь прописасать в default.vrd
юзера и пароль
ib='Srvr="SERVER";Ref="TEST";usr=Администратор;pwd=*****'
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший