Имя: Пароль:
1C
1С v8
Web-сервис + IIS
0 satoru
 
30.12.16
10:26
Проблема: подключаем WS-ссылку, авторизируемся, все ОК, но как только вызываем любую процедуру web-сервиса выдаёт ошибку:
Ошибка соединения!

{ОбщийМодуль.МодульОбмена.Модуль(11)}: Ошибка при вызове метода контекста (GetParents): Ошибка вызова операции сервиса:  {arm_selle}:arm_prodavec:GetParents(): Ошибка HTTP:  HTTP Status (404). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /ut_obuv/ws/arm_prodavec was not found on this server.</p>
</body></html>

default.vrd

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system";
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        base="/ut_obuv"
        ib="File=&quot;C:\1C\УТ&quot;;"
        enable="false"
        allowexecutescheduledjobs="">
    <ws>
        <point name="arm_prodavec"
                alias="arm_selle.1cws"
                enable="true"/>
    </ws>
</point>

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\1cv8\8.3.6.2332\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
        </handlers>
    </system.webServer>
</configuration>


Платформа 1С: 8.3.6.2332
IIS: 8.5
OC: Windows Server 2012 R2
1 Asmody
 
30.12.16
10:30
В IIS разрешили использование 32битных библиотек?
2 satoru
 
30.12.16
10:33
(1) Да.
3 Serginio1
 
30.12.16
10:42
Попробуй выбрать пул аналогично http://metanit.com/sharp/aspnet5/20.1.php

Там .Net не нужен
4 satoru
 
30.12.16
10:51
(3) Поменял, сервер перезапустил, но ошибка таже.
5 Fragster
 
гуру
30.12.16
11:02
а права у пользователя ИИС на папку с базой есть?
6 Fragster
 
гуру
30.12.16
11:03
ну и до кучи - если часть юзеров ходит не через ИИС - возможны ошибки нарушения прав доступа, если права криво настроены, например от папки не наследуются права .lck файлы
7 satoru
 
30.12.16
11:06
(5) Да.
(6) Наследование прав есть.

В 1С в журнале пишет, что WS-соединение есть начало сеанса, авторизация и завершение, но функции не отрабатывают.
8 Fragster
 
гуру
30.12.16
11:15
а в сервисе арм_продавец есть метод ГетПарентс?
9 Fragster
 
гуру
30.12.16
11:16
ну и временно можно попробовать убрать enable=false у point
10 satoru
 
30.12.16
11:16
(8) Да GetParents() и права у пользователя 1С на него есть.
11 Fragster
 
гуру
30.12.16
11:19
а вообще - запустить 1с с правами администратора компа (пкм-запуск от имени администратора), и опубликовать через конфигуратор
12 satoru
 
30.12.16
11:20
(11) уже так делал.
13 satoru
 
30.12.16
11:23
(9) Тогда вообще не подключается к WS-ссылке.
14 write
 
30.12.16
11:26
ОбщийМодуль.МодульОбмена.Модуль(11)}: Ошибка при вызове метода контекста (GetParents) - если не ошибаюсь Вам сообщают, что в ОбщийМодуль.МодульОбмена.Модуль в 11 строке программного кода ошибка.
Отладку подключить к веб сервису удалось?
15 Serginio1
 
30.12.16
11:55
(13) Вообще лучше
1.выносить все методы в общий модуль.
2.Отлаживать методы с клиента и сервера.
3. Включить показ ошибок для сервера и внешнего соединения
4. Оборачивать методы в попытка исключения и запись в журнал регистрации
16 satoru
 
30.12.16
12:16
(14) Локально через localhost все работает.
(15) все методы вынесены в общий модуль. Первая строка кода в функции и есть ЗаписьВЖурналРегистрации(), но в жунале записи о начале выполнения функции нет.
17 satoru
 
30.12.16
12:27
Проблема решена переходом на apache 2.2.

Как выяснилось IIS убирал порт URL строке на 80, а должен был быть 23083.
18 Serginio1
 
30.12.16
12:32
(17) Так назначь для пула порт
19 satoru
 
30.12.16
13:04
(18) Как это сделать?
20 Serginio1
 
30.12.16
13:54
(19)  смотри  ссылочку из  (3) там картинка при создании сайта.
Там есть привязка  тип,IP адресс и порт.
21 satoru
 
30.12.16
16:24
ок попробуем.
22 Serginio1
 
30.12.16
17:04
(21) Вот еще ссылка https://support.microsoft.com/ru-ru/kb/149605
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн