Имя: Пароль:
1C
1С v8
Http-сервис возвращает 500 Internal server error
0 Kudryashka
 
26.01.19
15:18
Доброго времени суток
База 8 на обычных формах самописка, написала http-сервис, настроила апач 2.4 на своем компе, затем внедрила клиенту, все это работает уже несколько месяцев. Другой клиент на такой же базе тоже захотел себе такую функцию. Я загрузила себе его базу, скопировала наработки, которые работают на первой, только поменяла код в сервисе, все точно так же настроила, но сервис возвращает ошибку:
HTTP/1.1 500 Internal server error
Ошибка инициализации библиотеки модулей
Я подумала что ошибка в коде сервиса, включила отладку, но отладка в сервис не заходит. Тогда я убрала весь код из сервиса, оставила только две строки:
    Ответ = Новый HTTPСервисОтвет(200);
    Возврат Ответ;
Все. Ошибки в коде отсутствуют как класс. Должно возвращать 200, но отладка опять не заходит и возвращает 500. Проверила все пути, шаблоны, инициализацию. И апач и база на одном компе, я обращаюсь через 127.0.0.1 или localhost. Порт правильный. Авторизация проходит, идет дальше, отправляет обычний жсончик, я вижу его во временных файлах, но сервер отпуливает и все тут. Ошибка инициализации библиотеки модулей наводит на мысль что не хватает каких-то длл. Я проверила каталог C:\Program Files (x86)\1cv8\8.3.10.2667\bin, там имеются файлы wsap24.dll и wsisapi.dll. Параллельно запустила ту базу, которую настраивала ранее, такую же, она работает. на этом же самом компе, на этой же платформе и с этим же апачем.
Помогите пожалуйста, у меня уже кончились идеи, я не знаю что уже проверить, пните меня в нужном направлении, скажите что еще можно проверить, третий день бьюсь с этим...
После каждой манипуляции перепубликовывала базу и перезапускала апач.
Задавайте вопросы, может не все описала, я на все отвечу.
1 Anarki
 
26.01.19
15:29
Если Postmanом послать запрос что возвращает?
2 Kudryashka
 
26.01.19
15:36
Я для проверки сервиса использую обработку, которая отправляет запрос. ранее всегда использовала ее, в ней не сомневаюсь, вот через нее я и получаю 500. я проверяла Telerik-ом запрос-ответ, и то, что я там увидела - сюда скопировала.
вот подробнее его "расшифровка"

POST http://127.0.0.1:2018/StatusVagSever/hs/StatusVag/PostDepozit HTTP/1.1
Host: 127.0.0.1:2018
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQAuAAAABgAGACgAAAAGAbEdAAAAD09MR0FOQldPUktHUk9VUA==
Authorization: Basic MTExOjExMQ==
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 32

{

"bin": "120140000000"

}
HTTP/1.1 500 Internal server error
Date: Fri, 25 Jan 2019 15:36:45 GMT
Server: Apache/2.4.34 (Win32) OpenSSL/1.1.0i PHP/7.2.10
Content-Length: 78
Connection: close
Content-Type: text/plain; charset=UTF-8

Ошибка инициализации библиотеки модулей
3 Kudryashka
 
26.01.19
15:38
Если я открываю ссылку, то у меня в браузере открывается пустая 1с, запрашивает логин пароль, то есть в браузере открывается пустая управляемая форма, что нормально, т.к. формы обычные. Это лишь говорит о том, что публикация прошла нормально и работает.
4 Anarki
 
26.01.19
15:48
Антивирусы, файрволы? На одной машине клиент и сервер тестирование проводится?
5 Kudryashka
 
26.01.19
15:51
(4) антивирус уже поставили другой. второй вопрос не очень поняла. все происходит на одной машине. причем другая база работает, это больше всего убивает, если она работает, значит ни причем ни антивирусы, ни платформа, ни апач... дело в самой второй базе, но что именно, я не могу понять.
6 Kudryashka
 
26.01.19
15:56
Причем она не работает ни у меня ни у клиента. Ладно у клиента, там все с нуля поднималось, апач, веб-сервисы у платформы, обращение к другой машине и все такое... там не работало, я забрала к себе разбираться. И у меня не работает! Но у меня-то все давно настроено, поднято уже, машина одна, локальная, только базу загрузила еще одну и она не работает.
7 Kudryashka
 
26.01.19
15:58
вот этот код в сервисе только правильный? его точно достаточно? что-то я уже начала сомневаться. Уже не знаю что и думать.
Посмотрите

    Ответ = Новый HTTPСервисОтвет(200);
    Возврат Ответ;

По идее должно быть достаточно...
8 Kudryashka
 
26.01.19
16:04
а как сюда скриншоты отправить? как-то ни разу не приходилось именно сюда отправлять картинки. я хотела показать настройки.
9 palsergeich
 
26.01.19
16:22
(8) ссылкой на любой хостнг картинок
10 Kudryashka
 
26.01.19
16:36
11 Kudryashka
 
26.01.19
16:40
Ну вроде всю информацию предоставила. Что может быть не так? Чего ему не нравится? Помогите пожалуйста.....
12 Kudryashka
 
26.01.19
16:49
Обработкой обращаюсь так:

    HTTP = Новый HTTPСоединение("127.0.0.1",2018,"111","111",,,,Ложь);
........
    ЗаголовокЗапросаHTTP.Вставить("Content-Length", РазмерФайлаНаОтправку);
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json; charset=utf-8");

    ЗапросHTTP = Новый HTTPЗапрос("/StatusVagSever/hs/StatusVag/PostDepozit", ЗаголовокЗапросаHTTP);
13 Kudryashka
 
26.01.19
16:50
уже пользователя создала такого чтобы исключить неправильное написание. права у пользователя есть, это точно. все права стоят.
14 Юрий Лазаренко
 
26.01.19
16:59
(0) "настроила апач 2.4"
"проверила каталог C:\Program Files (x86)"

Апач 64 бита, платформа 32 бита?
15 Kudryashka
 
26.01.19
17:01
(14) платформа 32 и апач 32
16 Kudryashka
 
26.01.19
17:02
с другой базой на этой же платформе апач работает. Я это повторяю потому что возможно это наведет на какие-то мысли, либо отбросит какие-то вопросы. Может проще будет найти ошибку, имея эту информацию...
17 Юрий Лазаренко
 
26.01.19
17:05
(16) Надо проверить общие модули конфигурации на ошибки (Ctrl+F7). Чаще всего http-сервисы не стартуют именно по этой причине.
В журнале регистрации есть ошибки после попытки подключиться к сервису?
18 Мимохожий Однако
 
26.01.19
17:07
В порядки эксперимента залей новую базу взамен рабочей, если это возможно. Может быть, у тебя апач только с одной базой настроен.
19 Kudryashka
 
26.01.19
17:13
(17) в журнале регистрации ошибки не пишет. пишет две строки: аутентификация и начало. в общих модулях были ошибки, просто эти модули не использовались, я это все убрала, но один фиг 500 возвращает.
20 Kudryashka
 
26.01.19
17:15
(18) а как он может быть настроен с одной базой? Это возможно? каталоги в htdocs разные у них. Причем что я и ранее делала различные сервисы на других базах (а не только в этих двух), и для них тоже есть свои каталоги в htdocs. И сейчас рабочая база вообще закрыта.
21 Kudryashka
 
26.01.19
21:45
нет идей?(
22 palsergeich
 
26.01.19
21:47
Проверь еще права на папки у апача, на всякий
23 palsergeich
 
26.01.19
21:47
И зайди глянь лог аппача
24 palsergeich
 
26.01.19
21:51
И самое важное - Когда получаете ответ с кодом 500 сделайте ПолучитьТелоКакСтроку() - очень часто там диагностика по ошибке приходит
25 Kudryashka
 
26.01.19
21:59
(23) логи смотрела я.. и эррор и акцесс. в момент посылания зароса в эррор ничего не пишет.
зато в акцессах он радостно сообщает как меня пнул

127.0.0.1 - - [26/Jan/2019:23:58:20 +0500] "POST /StatusVagSever/hs/StatusVagSever/PostDepozit HTTP/1.1" 500 78 "-" "1C+Enterprise/8.3"
26 Kudryashka
 
26.01.19
22:01
(24) где сделать? в каком месте и в какой момент? можно поподробнее? ну диагностика скорее всего будет гласить ошибка инициализации библиотеки модулей. или он что-то еще мне скажет интересного?
27 Kudryashka
 
26.01.19
22:04
(22) даже не знаю как сказать, как будто бы стоит только чтение, снимаю галку, сохраняю, открываю опять стоит. НО другая база работает, вот в чем дело...
28 Kudryashka
 
26.01.19
22:05
может чего-то где-то зарегистрировать надо? какую-нить длл-ку... для разнообразия так сказать...
29 palsergeich
 
26.01.19
22:05
(2) Сорри - тут вы уже все сделали. Отбой. (27) Там же на каждую публикацию отдельная папка
30 palsergeich
 
26.01.19
22:06
(28) Не, апач 2.4 ничего не требует кроме переменной среды, а она у Вас стоит, иначе не работало бы вообще
31 palsergeich
 
26.01.19
22:07
Я даже не знаю. (17) делали?
32 etc
 
26.01.19
22:07
покажи строку конфига LoadModule.
33 Kudryashka
 
26.01.19
22:08
(29) Там же на каждую публикацию отдельная папка - ааа. вы про это. ну стоит вроде как галка только чтение, но она также стоит и у той рабочей базы. я опять же снимаю, а она ставится. не знаю, чето мне кажется не в этом дело...  
Я уже задолбала со второй базой, которая работает, но что я могу поделать....
34 Kudryashka
 
26.01.19
22:08
(31) да, делала
35 etc
 
26.01.19
22:08
имею ввиду конфига апача.
ну и блок где указывается vrd файл
36 Kudryashka
 
26.01.19
22:10
(35) я извиняюсь... а где все это искать? блин раньше не приходилось там где-то копаться глубоко....
37 etc
 
26.01.19
22:11
или давай с другого конца. под каким пользователем запускается апач?
38 Kudryashka
 
26.01.19
22:12
(37) подо мной. у меня админские права. это мой домашний комп, я уж себя не обделяю в правах)
39 etc
 
26.01.19
22:12
Тоесть на закладке "Вход в систему" у сервиса указана ты, верно?
40 Kudryashka
 
26.01.19
22:13
(39) я посмотрела в диспетчере задач под кем он работает...
41 etc
 
26.01.19
22:17
В папке C:\xampp\apache\conf есть файлик httpd.conf
В нем должна быть строка LoadModule _1cvs_module <путь к dll> что в ней?
42 Kudryashka
 
26.01.19
22:18
почему он говорит "Ошибка инициализации библиотеки модулей" ?
обычно такое на нехватку длл? или я ошибаюсь?
43 Kudryashka
 
26.01.19
22:18
(41) а, это я уже смотрела, щас еще раз открою и скопирую.
44 Kudryashka
 
26.01.19
22:19
(41) LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.10.2667/bin/wsap24.dll"

база открыта именно на этой платформе.
45 Kudryashka
 
26.01.19
22:20
1С:Предприятие 8.3 (8.3.10.2667) - скопировала на всякий случай.
46 Kudryashka
 
26.01.19
22:21
а вот блок публикации, как просили

# 1c publication
Alias "/StatusVagSever" "C:/xampp/htdocs/StatusVagSever/"
<Directory "C:/xampp/htdocs/StatusVagSever/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/xampp/htdocs/StatusVagSever/default.vrd"
</Directory>
47 etc
 
26.01.19
22:22
Странно всё это. Судя по тому что ошибка на русском то выдает её именно платформа 1С. Тоесть 1C-ка не может какието свои библиотеки подтянуть.
48 Kudryashka
 
26.01.19
22:23
я тут в начале топика в запросе указываю в ссылке корневой каталог StatusVag, а далее идет корневой каталог StatusVagSever (ну, вдруг кто-то заметит и подумает что ошибка тут), это я просто уже чисто поржать поменяла корневой каталог, это не ошибка....
49 Kudryashka
 
26.01.19
22:23
(47) а что делать теперь?
50 palsergeich
 
26.01.19
22:25
Самый тупой вопрос.
Сервер приложений ребутала?
Службу апача?
51 Kudryashka
 
26.01.19
22:26
(50) после каждой манипуляции. там в (0) я писала это...
52 Kudryashka
 
26.01.19
22:28
ну блин тут какая-то тупая ошибка на поверхности лежит, как обычно. а я ее не вижу....
53 Kudryashka
 
26.01.19
22:30
посмотрите (7)
54 etc
 
26.01.19
22:38
отладчик говоришь не работает?
55 Kudryashka
 
26.01.19
22:39
(54) неа. не заходит туда... ну там код правильный в сервисе?
56 Kudryashka
 
26.01.19
22:41
посмотрела щас настройки отладки, почему-то слетели, будто и не выставляла. снова выставила, один фиг не заходит.
57 Kudryashka
 
26.01.19
22:42
может потому что я корневой каталог поменяла? могли они из-за этого сброситься?
58 etc
 
26.01.19
22:42
Имя базы в vrd файлике должно с точностью до регистра совпадать с именем базы при запуске конфигуратора.
59 etc
 
26.01.19
22:42
иногда из за этого отладчик не работает
60 etc
 
26.01.19
22:43
А ошибка может быть и в модуле сеанса. Он первым отрабатывает.
61 Kudryashka
 
26.01.19
22:44
<service name="StatusVagSever" (58) это?
62 Kudryashka
 
26.01.19
22:46
(60) модуль сеанса отлаживается, там все нормально.

что еще можно посмотреть?
63 etc
 
26.01.19
22:46
нет, тут смотри:
<Point ..... base="/crm" ib="Srvr=&quot;srv&quot;;Ref=&quot;crm&quot;;" enable="false">
64 Kudryashka
 
26.01.19
22:48
хе!
65 etc
 
26.01.19
22:49
Если модуль сеанса отлаживается значит вероятно ошибка при компиляции одного из общих модулей (или самого модуля веб-сервиса). Поэтому отладчик в функции ничего не ловит а модуль сеанса проскакивает.
66 palsergeich
 
26.01.19
22:50
(65) Кстати да. Модуль сеанса - управление перешлов 1с.
Попробуй отладчиком идки пока не выкинет.
На одном из формуов видел - у модуля не было нужной директивы компиляции
67 Kudryashka
 
26.01.19
22:54
(63) короче тут такое дело... база лежить в папке 1С, С там русская. а в врд-шке вместо буквы С указана какая-то кракозябла. я залезда в врд рабочей базы, там нормальная стоит 1С. ну я перенесла свою проблемную базу в другой каталог (да прям в корень) и сама база называется латиницей, перепубликовала, перезапустила, один фиг 500 блин.....
68 Kudryashka
 
26.01.19
22:58
(65) модуль веб-сервиса я написала в (7), посмотрите, там все нормально? я убрала тот модуль что мне нужен с целью отладки вообще системы
69 Kudryashka
 
26.01.19
23:00
а проверку общих модулей я сделала как сказали в (17)
70 etc
 
26.01.19
23:01
Надо техжурнал включать. Может в нем чтото увидим.
71 palsergeich
 
26.01.19
23:01
(68) Да все норм, стандартный ответ.
72 etc
 
26.01.19
23:03
Знаешь как техжурнал включать?
73 palsergeich
 
26.01.19
23:03
74 Kudryashka
 
26.01.19
23:32
Знаете, сидела сравнивала щас две врд-шки, в "нерабочей" есть такой тег:     <standardOdata enable="true"
            reuseSessions="autouse"
            sessionMaxAge="20"
            poolSize="10"
            poolTimeout="5"/>
а в "рабочей" его нет
75 etc
 
26.01.19
23:35
(74) ну так убрать публикацию OData пять секунд. Проверь и посмотри.
76 Kudryashka
 
26.01.19
23:39
(74) да нет, это не то....
а насчет техжурнала.. это мне время нужно чтобы разобраться, это уже завтра. а то у нас почти 2 ночи. лежит блин курс Гилева "оптимизация" и все никак руки не дойдут, как всегда. щас бы пригодилось....

и еще что примечательно.. в "рабочей" врд-шке путь на русском и даже название базы, и все работает блин!

а тут...
77 etc
 
26.01.19
23:44
(76) С техжурналом просто, положить один файлик в папку conf на сервере приложений (я так понимаю он у тебя на компе локально), обратиться к веб-сервису и посмотреть что в нем записалось.
78 Kudryashka
 
26.01.19
23:45
(77) а какой файлик?
79 etc
 
26.01.19
23:46
5 сек.
80 etc
 
26.01.19
23:46
выбери папку в которую логи будут складываться
81 Kudryashka
 
26.01.19
23:47
ага
82 etc
 
26.01.19
23:49
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">;
<dump create="false" type="3"/>
<log history="72" location="C:\logs">
    <event>
        <ne property="name" value="EXCP"/>
    </event>
    <property name="all"/>
</log>
</config>

назвать logcfg.xml
83 etc
 
26.01.19
23:50
в теге location поменяй путь на свой
84 etc
 
26.01.19
23:51
стоп, файлик с ошибкой
85 Kudryashka
 
26.01.19
23:51
(82) и куда положить? конкретно.
86 etc
 
26.01.19
23:53
В C:\Program Files (x86)\1cv8\8.3.10.2667\bin\conf

правильный файл:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">;;
<dump create="false" type="3"/>
<log history="72" location="C:\logs">
    <event>
        <ne property="name" value=""/>
    </event>
    <property name="all"/>
</log>
</config>
87 Kudryashka
 
26.01.19
23:55
должно что-то в логи упасть? ничего не упало.. я что-то не так сделала? путь поменяла...
88 etc
 
26.01.19
23:56
Это полный лог всего. Он подхватится примерно через 60 секунд без рестарта сервера
89 Kudryashka
 
26.01.19
23:56
в 1с перезашла на всякий случай
90 etc
 
26.01.19
23:56
ну и попробуй обратись к веб-сервису.
91 etc
 
26.01.19
23:57
всмысле к http сервису
92 Kudryashka
 
26.01.19
23:57
так я обратилась.... сразу же. сейчас снова попробую.
93 etc
 
26.01.19
23:58
там папки должны появиться, по одной на каждый запущеный rphost
94 Kudryashka
 
26.01.19
23:59
появилось но чето пустой файл там. щас перезайду опять и обращусь.
95 Kudryashka
 
27.01.19
00:00
уууу... какой большой лог...
96 etc
 
27.01.19
00:00
папка с каким названием создалась?
97 Kudryashka
 
27.01.19
00:01
httpd_5728  ну там еще другие, но я так поняла мне эта нужна
98 etc
 
27.01.19
00:03
rphost_xxxx еще смотри

ищи строчку с EXCP
99 Kudryashka
 
27.01.19
00:04
все остальные папки с префиксом 1cv8_
100 Kudryashka
 
27.01.19
00:06
тут в этом файле нашла строчки с эррорами

04:46.995026-0,CONN,1,process=httpd,ClientID=232,Protected=0,Txt='Connected, client=(2)127.0.0.1:55377, server=(2)127.0.0.1:1560'
04:46.995029-0,CONN,1,process=httpd,Txt=QueryCredentialsAttributes: Error 80090304!
04:46.995035-0,CONN,1,process=httpd,ClientID=233,Protected=0,Txt='Connected, client=(2)127.0.0.1:55378, server=(2)127.0.0.1:1561'
04:46.995036-0,CONN,1,process=httpd,Txt=QueryCredentialsAttributes: Error 80090304!
101 Kudryashka
 
27.01.19
00:07
и еще одну пониже

04:46.963000-0,CONN,1,process=httpd,Usr=111,ClientID=230,Protected=0,Txt='Connected, client=(2)127.0.0.1:55375, server=(2)127.0.0.1:1560'
04:46.963001-0,CONN,1,process=httpd,Usr=111,Txt=QueryCredentialsAttributes: Error 80090304!
102 Kudryashka
 
27.01.19
00:07
это вам ни о чем не говорит?
103 Kudryashka
 
27.01.19
00:09
104 etc
 
27.01.19
00:14
судя по IB=D:\AZHDHSever база файловая?
105 etc
 
27.01.19
00:19
короче хрень какаято
106 sergeyspb13
 
27.01.19
00:28
у клиента (у которого все работает) таже платформа ?
права у апача на папку с модулями... базами
107 Kudryashka
 
27.01.19
11:59
(106) да, та же платформа.
права у апача - это где конкретно посмотреть?
108 palsergeich
 
27.01.19
13:01
109 Kudryashka
 
27.01.19
14:16
все, разобралась. мешали другие процедуры в этом модуле. говорю же какая-то тупая ошибка блин..... спасибо всем за участие!
110 Сергиус
 
27.01.19
15:02
(0)Может не хватать прав на запуск этих dll. Не нашел в теме - база 1с файловая или клиент/сервер? Вообщем проверь, что с правами доступа к этим файлам(а лучше ко всей папке bin).