|
Веб-сервис и авторизация | ☑ | ||
---|---|---|---|---|
0
pessok
30.09.15
✎
15:18
|
Коллеги, привет! Проштудировал темы с этой же ошибкой, решения из них не помогли.
Итак: создан простейший веб-сервис для теста. Возвращает наименование номенклатуры и код. Хочу посмотреть, что на выходе, подключаюсь через SoapUI, ввожу адрес веб-сервиса. Он просит ввести данные авторизации, ввожу (parser, 1), все логинится. Можно посмотреть схему етц. Если ввести некорректные данные, то сразу вываливает ошибку и не дает ничего посмотреть. Когда начинаю выполнять сам запрос, то ругается на авторизацию вот так :) <html> <head> <title>A server error occurred.</title> </head> <h1>Аутентификация пользователя не выполнена.</h1> <hr/> An error occurred processing this request. </html> Из того, что прочитал в других темах на мисте: у пользователя parser полные права, права на использование WS есть. Пользователь обозван латиницей, авторизация идет средствами 1С. Отсюда вопрос, ЧЯДНТ? |
|||
1
pessok
30.09.15
✎
15:19
|
код ВС:
Функция Upload() ТипВыборка = ФабрикаXDTO.Тип("ПакетДанныхДляПарсера", "Выборка"); ТипРезультат = ФабрикаXDTO.Тип("ПакетДанныхДляПарсера", "Результат"); РезультатВыгрузки = ФабрикаXDTO.Создать(ТипРезультат); Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл Данные = ФабрикаXDTO.Создать(ТипВыборка); ЗаполнитьЗначенияСвойств(Данные, Выборка); РезультатВыгрузки.Товар.Добавить(Данные); КонецЦикла; Возврат РезультатВыгрузки; КонецФункции |
|||
2
pessok
30.09.15
✎
15:21
|
сорри, 8.3.5.1119
УТ 10.3.29.1 |
|||
3
Serginio1
30.09.15
✎
15:24
|
Ты покажи как авторизацию выполняешь
|
|||
4
pessok
30.09.15
✎
15:26
|
(3) да просто в SoapUI ввожу адрес веб-сервиса, жмакаю ОК, он спрашивает логин и пароль. Ввожу: parser, 1. Открывается объект. Если ввести другой пароль, то объект не открывается, вываливает ошибку
WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. |
|||
5
Serginio1
30.09.15
✎
15:44
|
А зачем SOAPUI если можешь тестировать из 1С, а трафик смотреть Fiddler ом
Другой пароль это другой пользователь? |
|||
6
pessok
30.09.15
✎
15:49
|
(5) я, откровенно говоря, полный профан в этом вопросе. Как было написано на ИС, так и делал. Другой пароль - это или другой пароль этого пользователя, или другой пользователь (написанный кириллицей)
|
|||
7
Serginio1
30.09.15
✎
15:54
|
А разве у пользователя может быть несколько паролей?
|
|||
8
pessok
30.09.15
✎
15:58
|
(7) блин. я имел ввиду, если ввести заведомо ложный пароль, то авторизация не проходит сразу. Т.е. дело не в том, что пароль введен неверно :)
|
|||
9
pessok
30.09.15
✎
16:00
|
+(8) сейчас попробовал сделать просто из 1С создание WSОпределения под администратором, платформа ругнулась
{Форма.Форма.Форма(3)}: Ошибка при вызове конструктора (WSОпределения) Определение = Новый WSОпределения("localhost/parser/wsВыгрузкаДляПарсера?wsdl"); по причине: При создании описания сервиса произошла ошибка. localhost/parser/wsВыгрузкаДляПарсера?wsdl При переходе в пофигуратор говорит модально - "Недостаточно прав доступа"... Что-то я совсем ничего не понимаю |
|||
10
kiruha
30.09.15
✎
16:01
|
В Soap в запросе есть закладка свойства запроса.
Там указать способ авторизации, пользователь и пароль ЧЯДН - не видишь ничего и не смотришь |
|||
11
kiruha
30.09.15
✎
16:04
|
Reqest Propety левый нижний угол
|
|||
12
Serginio1
30.09.15
✎
16:05
|
localhost/parser/ws/ВыгрузкаДляПарсера?wsdl
|
|||
13
kiruha
30.09.15
✎
16:05
|
Request Property
|
|||
14
pessok
30.09.15
✎
16:08
|
(12) да я просто полный путь удалял. Да и переназвал ВС по-английски, на всякий случай
(13) вот, спасибо, заработало. Век живи, век учись. Мануал молчит, а ничего толкового сам не нашел. |
|||
15
Serginio1
30.09.15
✎
16:14
|
(14) В определении добавь
Новый WSОпределения("localhost/parser/ws/ВыгрузкаДляПарсера?wsdl",ИмяПользователя,Пароль); |
|||
16
pessok
30.09.15
✎
16:17
|
(15) спасибо! так работает
|
|||
17
Serginio1
30.09.15
✎
16:19
|
Определение=Новый WSОпределения("localhost/parser/ws/ВыгрузкаДляПарсера?wsdl",ИмяПользователя,Пароль);
WSСервис=Определение.Сервисы[0]; прокси=Новый WSПрокси(Определение, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя); Прокси.Пользователь = ИмяПользователя; Прокси.Пароль = Пароль; рез=Прокси.Upload() |
|||
18
pessok
30.09.15
✎
16:24
|
Спасибо, друзья!
Буду теперь расширять свои знания на эту тему. Очень помогли, от души! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |