|
Правильное написание адресной строки для запуска Web сервиса | ☑ | ||
---|---|---|---|---|
0
ares
07.08.12
✎
14:37
|
Погуглил инет, прочитал ИТС, кстати хорошая статья раздела 17.
Использую IIS 7.5 Написал веб сервис, возвращающий таблицу с 2 колонками (обе стринг). Опубликовал, все нормально. ВНИМАНИЕ : Если публикую еще и тонкий клиент и веб клиент, то по указанному пути в браузере запускает приложение. Т.е. все находит и ключи и базу. Однако не могу правильно написать путь для использования веб сервиса. Если для запуска веб клиента проходит адрес 1c.mycompany.ru/portal, но мне нужно запустить сам веб сервис. Исходные данные метаданного Web-сервисы: Имя - WebPortal URI пространство имен - 1c.mycompany.ru/portal/shipment Имя файла публикации - shipment.1cws К нему привязана функция : Имя - GetTabNumber Имя метода - GetTabNumber Я уже по всякому пробовал 1c.mycompany.ru/portal/shipment 1c.mycompany.ru/portal/shipment.1cws 1c.mycompany.ru/portal/GetTabNumber Пишет 1C:Enterprise 8 application error: HTTP: Not found Ошибка при работе с ресурсом /portal/shipment.1cws |
|||
1
rool
07.08.12
✎
14:41
|
1c.mycompany.ru/portal/shipment.1cws?wsdl так попробуй
|
|||
2
Deryni
07.08.12
✎
14:46
|
Я делал у меня есть и веб-сервис и веб-клиент
предположим я создал публикацию с именем gal каталог D:\WS\ имя веб-сервиса внутри 1С - WebXChange адрес при публикации - rest.1cws для веб-сервиса например строка такая: //localhost/gal/ws/rest.1cws Ну и соответственно вместо localhost пишем адрес сервера или его URL А веб-клиент выглядит так: //localhost/gal В твоём случае по идее должно быть так: //1c.mycompany.ru/WebPortal/имя папки где веб-сервис/shipment.1cws |
|||
3
ares
07.08.12
✎
14:55
|
(1)НЕ вышло
(2)Попробовал http://1c.mycompany.ru/portal/ws/shipment.1cws Запросил имя пользователя и пароль, уже кое что по конечному твоему не совсем понял, если у меня публикация : Имя - portal Каталог - c:\inetpub\wwwroot\portal Табличная часть 1 строка : Имя - WebPortal Адрес - shipment.1cws |
|||
4
ares
07.08.12
✎
15:00
|
(3)+а какой пароль нужно водить ? чет ввожу админский от БД не хочет, просит
"Для доступа на сервер 1c.mycompany.ru:80 требуется указать имя пользователя и пароль" |
|||
5
Balonbl4
07.08.12
✎
15:03
|
(3) ты каким клиентом подцепиться пытаешься? Если 1Ской то давай код в студию
(4) Логин пароль пользователя базы у которого есть разрешение на внешние соединения |
|||
6
ares
07.08.12
✎
15:06
|
(5) Клиент интернет браузер Google Chrom, я первый раз вед сервисы публикую, но думаю он должен мне табличку выдать в каком то виде
Функция GetTabNumber() // Получить типы объектов XDTO ВыборкаТип = ФабрикаXDTO.Тип("http://1c.myconpany.ru/shipment", "SampleRequest1"); СтрокаВыборкиТип = ФабрикаXDTO.Тип("http://1c.myconpany.ru/shipment", "StringRequest1"); // Создать объект XDTO выборки SampleRequest1 = ФабрикаXDTO.Создать(ВыборкаТип); Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Код КАК TabNumber, | СотрудникиОрганизаций.Физлицо.Наименование КАК FullName |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |ГДЕ | СотрудникиОрганизаций.ЭтоГруппа = ЛОЖЬ | |УПОРЯДОЧИТЬ ПО | TabNumber"; Выборка1 = Запрос1.Выполнить().Выбрать(); Пока Выборка1.Следующий() Цикл // Создать объекты XDTO строки выборки StringRequest1 = ФабрикаXDTO.Создать(СтрокаВыборкиТип); // Заполнить свойства строки выборки StringRequest1.TabNumber = Выборка1.TabNumber; StringRequest1.FullName = Выборка1.FullName; // Добавить строку в выборку SampleRequest1.Structure.Добавить(StringRequest1); КонецЦикла; Возврат SampleRequest1; КонецФункции |
|||
7
lEvGl
гуру
07.08.12
✎
15:08
|
||||
8
Balonbl4
07.08.12
✎
15:09
|
(6) Клиентом должен быть другой сервис, другая база 1С например. В браузере ты ничего не увидишь
|
|||
9
Balonbl4
07.08.12
✎
15:11
|
(0) Гончаров, Хрусталева "Технология интеграции "Предприятия 8.2" - в этой книжке и примеры есть.
|
|||
10
ares
07.08.12
✎
15:11
|
Как я понял http://1c.mycompany.ru/portal/ws/shipment.1cws?wsdl
(8)А как мне отладить ? |
|||
11
rool
07.08.12
✎
15:12
|
(8) Сфига ли? в браузере он увидит xml сервиса
|
|||
12
lEvGl
гуру
07.08.12
✎
15:12
|
в (1) пропущено WS;
из браузера табличку не получишь, только описание сервиса; что бы получить результат функции сервиса надо программно писать (из чего угодно: 1с, C#, Delphi etc) Табличка = Сервис.ИмяФункции(ПараметрПРинимаемыйФункциейСервиса1, ПараметрПРинимаемыйФункциейСервиса2) (8) увидит описание сервиса |
|||
13
Balonbl4
07.08.12
✎
15:14
|
Создаешь пустую конфу, в ней обработку, в обработке что-то типа
Определения = Новый WSОпределения("http://localhost/fkuztest/ws/fkuz.1cws?wsdl","login","pass"); Прокси = Новый WSПрокси(Определения, "http://localhost/fkuztest", "WebFkuz", "WebFkuzSoap"); Прокси.Пароль = "pass#"; Прокси.Пользователь = "login"; ПредоплатаПолучена = Прокси.SendNoticeOfPayment(ИдДелегации,ИдМероприятия); |
|||
14
ares
07.08.12
✎
15:16
|
Ок сейчас буду пробовать, книжку уже качаю.
Всем спасибо, о результатах доложу! |
|||
15
rool
07.08.12
✎
15:20
|
проверь настроен ли iis на анонимный доступ
для для теста: для того что-бы пароль не запрашивало создай в 1С юзера без пароля с авторизацией через системную учетную запись IUSR_имя_твоего_компьютера |
|||
16
rool
07.08.12
✎
15:21
|
(15) с правом на внешнее соединение
|
|||
17
lEvGl
гуру
07.08.12
✎
15:52
|
(10) описание сервиса в браузере увидел? если увидел, то все ок, пробуй программно получить таблицу
|
|||
18
ares
07.08.12
✎
16:32
|
Аунтификация не работает, вот что нарыл пока (у меня сквозная стоит, и при публикации я установил сквозную)
ЧТо накопал v8: v8: 8.1. Доменная аутентификация WS, ошибка авторизации http://forum.sysadmins.su/index.php?s=fc1a1b304098d11d8f082f2edb06752b&showtopic=9345&pid=189104&mode=threaded&start=#entry189104 |
|||
19
Deryni
07.08.12
✎
16:51
|
(3) всё правильно написал. Попробуй для IIS создать в базе 1С пользователя с английским именем и паролем цифрами или на английском и аутентификацией через 1С. По-моему у меня с русскими именами как раз была проблема. Оно его и спрашивает.
|
|||
20
Deryni
07.08.12
✎
16:52
|
Вообще если спрашивает имя пользователя и пароль то всё ок. Потом правда может уже выдать ошибку, если у тебя в коде она есть. А если всё в порядке, то выводит xml описание объявленных тобой процедур
|
|||
21
lEvGl
гуру
07.08.12
✎
16:53
|
попробуй на ИИСе для виртуального приложения (+ можно проверить для сервера в целом и для узла) поставить проверку подлинности в анонимную, тогда надо будет вводить логин пароль базы 1с; либо на ИИСе "проверка подлинности виндовс" и в базе создать пользователя с виндовс аутентификацией(доменная учетка, из под которой работаешь).
|
|||
22
Deryni
07.08.12
✎
16:54
|
(21) Да он имя пользователя базы 1С спрашивает.
Я пробовал и с Апачей и с ИИС. С Апачей проблем в настройке меньше было. А ИИС 64-битный там не хочет подгружать модули, но где-то здесь я нарыл инструкцию как это сделать. |
|||
23
lEvGl
гуру
07.08.12
✎
16:58
|
(22) че вдруг? может его ИИС не пропускает - зависит от настроек
|
|||
24
lEvGl
гуру
07.08.12
✎
17:01
|
а если вводить доменную учетку (в случае доменной ситуации) и при этом в базе нет пользака с виндовой аутентификацией, то будешь вводить до потери отпечатков пальцев
|
|||
25
ares
07.08.12
✎
17:04
|
До чего дошли, он мепинг не реализует, то на пользователя домена ругается, то на пользователя БД 1С
Если оставляем только аунтификацию БД 1С, то XML появляется. |
|||
26
lEvGl
гуру
07.08.12
✎
17:06
|
и не жалеть кнопки перезапуска ииса; многие настройки требуют перезапуска, как и все виндовое )
|
|||
27
ares
07.08.12
✎
17:12
|
Глупый вопрос : если при публикации я оставил галку "Публиковать Web-сервисы" и не поставил "Публиковать тонкий клиент и веб-клиент", то базу вытащить через доступ будет нельзя ? Просто давным давно был на курсах по Web приложениям, когда они только появились, говорили что если все по умолчанию делать, можно через путь подключения вытянуть всю БД.
|
|||
28
lEvGl
гуру
07.08.12
✎
17:23
|
хм... а что значит вытянуть бд?
кстати насчет галочек при публикации - есть там "использовать виндовс аутентификацию при публикации" |
|||
29
ares
07.08.12
✎
17:28
|
(28) Галка "использовать виндовс аутентификацию при публикации" установлена
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |