Имя: Пароль:
1C
1С v8
Публикация веб сервиса на апаче 2.4 через утилиту webinst
0 Gorr
 
01.09.17
09:54
Пытаюсь опубликовать типовой сервис из типовой демо базы на апаче через утилиту webinst. Админских прав на комп нет, посему iis поставить не могу.
Практически все работает, а именно:
запускается 1С предприятие через веб интерфейс по адресу: //localhost/demo/ru/
Открывается wsdl определение по адресу:
http://localhost/demo/ws/dm.1cws?wsdl
Но вызвать метод веб интерфейса Не получается
ОписаниеОшибки() при вызове метода возвращает вот что:

{ВнешняяОбработка.ВызовСервиса.Форма.Форма.Форма(32)}: Ошибка при вызове метода контекста (execute): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {http://www.1c.ru/dm}:DMService:execute(): Ошибка HTTP:

фрагмент описания сервиса из файла default.vrd:

    <ws enable="true" pointEnableCommon="false">
       <point name="DMService" alias="DM.1cws" enable="true"/>
    </ws>

Куда копать дальше? может кто сталкивался с подобным?
1 Вафель
 
01.09.17
10:07
может код не скомпилировался?
Попробуй простой код возвращающий "Хэлоу ворлд"
2 Gorr
 
01.09.17
10:18
(1) у меня все предприятие целиком запускается через браузер, а какой-то веб сервис не работает. как такое может быть?
конфа на полной поддержке сервис абсолютно типовой.
Проще тестовую пустую тестовую конфу замутить. Просто вряд-ли поможет.
3 Gorr
 
01.09.17
10:19
Хотя, видимо, вариантов у меня не очень много
4 Юрий Лазаренко
 
01.09.17
10:49
Запускай отладку и смотри, на какой именно строке валится с ошибкой. Если сервис не стартует в принципе, значит не скомпилировал, если хоть одна строка выполнилась, значит проблему найти можно будет отладчиком.
5 Вафель
 
01.09.17
10:54
что за конфа?
6 Gorr
 
01.09.17
11:15
DocMngCorp. Проблема была в демо базе 2.1.10.2.
В тестовой все работает. Почему сервисы в демке не работают -
загадка.
7 Gorr
 
01.09.17
11:17
(4) до отладки не доходит даже
8 Вафель
 
01.09.17
11:20
а если через какой соап вьюер попробовать?
9 Gorr
 
01.09.17
11:47
дело в авторизации. в тестовой базе авторизация ос. поставил авторизацию по имени и паролю получил ту же ошибку.
подключение выполняю таким образом:
        ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;
        Определение = Новый WSОпределения(МестоположениеWSDL, ИмяПользователя, ПарольПользователя,,,ЗащищенноеСоединение,?(ПустаяСтрока(ИмяПользователя),Истина,Ложь));
        Прокси = Новый WSПрокси(Определение, ПространствоИменСервиса, ИмяСервиса, ИмяТочкиПодключения,,,ЗащищенноеСоединение,,?(ПустаяСтрока(ИмяПользователя),Истина,Ложь));

далее никаких ошибок вплоть до вызова метода
10 Gorr
 
01.09.17
12:13
Оказалось, что при авторизации по имени и паролю в прокси тоже нужно передавать имя пользователя и пароль, но поскольку конструктор прокси не поддерживает таких параметров, добавил пару строк после конструктора и все заработало:

        Прокси.Пользователь = ИмяПользователя;
        Прокси.Пароль = ПарольПользователя;
2 + 2 = 3.9999999999999999999999999999999...