Вход | Регистрация
    1  2   
1С:Предприятие :: 1С:Предприятие 8 общая

Http-сервис возвращает 500 Internal server error

Http-сервис возвращает 500 Internal server error
Я
   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. Параллельно запустила ту базу, которую настраивала ранее, такую же, она работает. на этом же самом компе, на этой же платформе и с этим же апачем.
Помогите пожалуйста, у меня уже кончились идеи, я не знаю что уже проверить, пните меня в нужном направлении, скажите что еще можно проверить, третий день бьюсь с этим...
После каждой манипуляции перепубликовывала базу и перезапускала апач.
Задавайте вопросы, может не все описала, я на все отвечу.
 
 
   Anarki
 
1 - 26.01.19 - 15:29
Если Postmanом послать запрос что возвращает?
   Kudryashka
 
2 - 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

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

По идее должно быть достаточно...
   Kudryashka
 
8 - 26.01.19 - 16:04
а как сюда скриншоты отправить? как-то ни разу не приходилось именно сюда отправлять картинки. я хотела показать настройки.
   palsergeich
 
9 - 26.01.19 - 16:22
(8) ссылкой на любой хостнг картинок
   Kudryashka
 
10 - 26.01.19 - 16:36
 
 Рекламное место пустует
   Kudryashka
 
11 - 26.01.19 - 16:40
Ну вроде всю информацию предоставила. Что может быть не так? Чего ему не нравится? Помогите пожалуйста.....
   Kudryashka
 
12 - 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);
   Kudryashka
 
13 - 26.01.19 - 16:50
уже пользователя создала такого чтобы исключить неправильное написание. права у пользователя есть, это точно. все права стоят.
   Юрий Лазаренко
 
14 - 26.01.19 - 16:59
(0) "настроила апач 2.4"
"проверила каталог C:\Program Files (x86)"

Апач 64 бита, платформа 32 бита?
   Kudryashka
 
15 - 26.01.19 - 17:01
(14) платформа 32 и апач 32
   Kudryashka
 
16 - 26.01.19 - 17:02
с другой базой на этой же платформе апач работает. Я это повторяю потому что возможно это наведет на какие-то мысли, либо отбросит какие-то вопросы. Может проще будет найти ошибку, имея эту информацию...
   Юрий Лазаренко
 
17 - 26.01.19 - 17:05
(16) Надо проверить общие модули конфигурации на ошибки (Ctrl+F7). Чаще всего http-сервисы не стартуют именно по этой причине.
В журнале регистрации есть ошибки после попытки подключиться к сервису?
   МимохожийОднако
 
18 - 26.01.19 - 17:07
В порядки эксперимента залей новую базу взамен рабочей, если это возможно. Может быть, у тебя апач только с одной базой настроен.
   Kudryashka
 
19 - 26.01.19 - 17:13
(17) в журнале регистрации ошибки не пишет. пишет две строки: аутентификация и начало. в общих модулях были ошибки, просто эти модули не использовались, я это все убрала, но один фиг 500 возвращает.
   Kudryashka
 
20 - 26.01.19 - 17:15
(18) а как он может быть настроен с одной базой? Это возможно? каталоги в htdocs разные у них. Причем что я и ранее делала различные сервисы на других базах (а не только в этих двух), и для них тоже есть свои каталоги в htdocs. И сейчас рабочая база вообще закрыта.
   Kudryashka
 
21 - 26.01.19 - 21:45
нет идей?(
   palsergeich
 
22 - 26.01.19 - 21:47
Проверь еще права на папки у апача, на всякий
   palsergeich
 
23 - 26.01.19 - 21:47
И зайди глянь лог аппача
   palsergeich
 
24 - 26.01.19 - 21:51
И самое важное - Когда получаете ответ с кодом 500 сделайте ПолучитьТелоКакСтроку() - очень часто там диагностика по ошибке приходит
   Kudryashka
 
25 - 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"
   Kudryashka
 
26 - 26.01.19 - 22:01
(24) где сделать? в каком месте и в какой момент? можно поподробнее? ну диагностика скорее всего будет гласить ошибка инициализации библиотеки модулей. или он что-то еще мне скажет интересного?
   Kudryashka
 
27 - 26.01.19 - 22:04
(22) даже не знаю как сказать, как будто бы стоит только чтение, снимаю галку, сохраняю, открываю опять стоит. НО другая база работает, вот в чем дело...
   Kudryashka
 
28 - 26.01.19 - 22:05
может чего-то где-то зарегистрировать надо? какую-нить длл-ку... для разнообразия так сказать...
   palsergeich
 
29 - 26.01.19 - 22:05
(2) Сорри - тут вы уже все сделали. Отбой. (27) Там же на каждую публикацию отдельная папка
   palsergeich
 
30 - 26.01.19 - 22:06
(28) Не, апач 2.4 ничего не требует кроме переменной среды, а она у Вас стоит, иначе не работало бы вообще
   palsergeich
 
31 - 26.01.19 - 22:07
Я даже не знаю. (17) делали?
   etc
 
32 - 26.01.19 - 22:07
покажи строку конфига LoadModule.
   Kudryashka
 
33 - 26.01.19 - 22:08
(29) Там же на каждую публикацию отдельная папка - ааа. вы про это. ну стоит вроде как галка только чтение, но она также стоит и у той рабочей базы. я опять же снимаю, а она ставится. не знаю, чето мне кажется не в этом дело...  
Я уже задолбала со второй базой, которая работает, но что я могу поделать....
 
 
   Kudryashka
 
34 - 26.01.19 - 22:08
(31) да, делала
   etc
 
35 - 26.01.19 - 22:08
имею ввиду конфига апача.
ну и блок где указывается vrd файл
   Kudryashka
 
36 - 26.01.19 - 22:10
(35) я извиняюсь... а где все это искать? блин раньше не приходилось там где-то копаться глубоко....
   etc
 
37 - 26.01.19 - 22:11
или давай с другого конца. под каким пользователем запускается апач?
   Kudryashka
 
38 - 26.01.19 - 22:12
(37) подо мной. у меня админские права. это мой домашний комп, я уж себя не обделяю в правах)
   etc
 
39 - 26.01.19 - 22:12
Тоесть на закладке "Вход в систему" у сервиса указана ты, верно?
   Kudryashka
 
40 - 26.01.19 - 22:13
(39) я посмотрела в диспетчере задач под кем он работает...
   etc
 
41 - 26.01.19 - 22:17
В папке C:\xampp\apache\conf есть файлик httpd.conf
В нем должна быть строка LoadModule _1cvs_module <путь к dll> что в ней?
   Kudryashka
 
42 - 26.01.19 - 22:18
почему он говорит "Ошибка инициализации библиотеки модулей" ?
обычно такое на нехватку длл? или я ошибаюсь?
   Kudryashka
 
43 - 26.01.19 - 22:18
(41) а, это я уже смотрела, щас еще раз открою и скопирую.
   Kudryashka
 
44 - 26.01.19 - 22:19
(41) LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.10.2667/bin/wsap24.dll"

база открыта именно на этой платформе.
   Kudryashka
 
45 - 26.01.19 - 22:20
1С:Предприятие 8.3 (8.3.10.2667) - скопировала на всякий случай.
   Kudryashka
 
46 - 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>
   etc
 
47 - 26.01.19 - 22:22
Странно всё это. Судя по тому что ошибка на русском то выдает её именно платформа 1С. Тоесть 1C-ка не может какието свои библиотеки подтянуть.
   Kudryashka
 
48 - 26.01.19 - 22:23
я тут в начале топика в запросе указываю в ссылке корневой каталог StatusVag, а далее идет корневой каталог StatusVagSever (ну, вдруг кто-то заметит и подумает что ошибка тут), это я просто уже чисто поржать поменяла корневой каталог, это не ошибка....
   Kudryashka
 
49 - 26.01.19 - 22:23
(47) а что делать теперь?
 
 Рекламное место пустует
   palsergeich
 
50 - 26.01.19 - 22:25
Самый тупой вопрос.
Сервер приложений ребутала?
Службу апача?
   Kudryashka
 
51 - 26.01.19 - 22:26
(50) после каждой манипуляции. там в (0) я писала это...
   Kudryashka
 
52 - 26.01.19 - 22:28
ну блин тут какая-то тупая ошибка на поверхности лежит, как обычно. а я ее не вижу....
   Kudryashka
 
53 - 26.01.19 - 22:30
посмотрите (7)
   etc
 
54 - 26.01.19 - 22:38
отладчик говоришь не работает?
   Kudryashka
 
55 - 26.01.19 - 22:39
(54) неа. не заходит туда... ну там код правильный в сервисе?
   Kudryashka
 
56 - 26.01.19 - 22:41
посмотрела щас настройки отладки, почему-то слетели, будто и не выставляла. снова выставила, один фиг не заходит.
   Kudryashka
 
57 - 26.01.19 - 22:42
может потому что я корневой каталог поменяла? могли они из-за этого сброситься?
   etc
 
58 - 26.01.19 - 22:42
Имя базы в vrd файлике должно с точностью до регистра совпадать с именем базы при запуске конфигуратора.
   etc
 
59 - 26.01.19 - 22:42
иногда из за этого отладчик не работает
   etc
 
60 - 26.01.19 - 22:43
А ошибка может быть и в модуле сеанса. Он первым отрабатывает.
   Kudryashka
 
61 - 26.01.19 - 22:44
<service name="StatusVagSever" (58) это?
   Kudryashka
 
62 - 26.01.19 - 22:46
(60) модуль сеанса отлаживается, там все нормально.

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

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

а тут...
   etc
 
77 - 26.01.19 - 23:44
(76) С техжурналом просто, положить один файлик в папку conf на сервере приложений (я так понимаю он у тебя на компе локально), обратиться к веб-сервису и посмотреть что в нем записалось.
   Kudryashka
 
78 - 26.01.19 - 23:45
(77) а какой файлик?
   etc
 
79 - 26.01.19 - 23:46
5 сек.
   etc
 
80 - 26.01.19 - 23:46
выбери папку в которую логи будут складываться
   Kudryashka
 
81 - 26.01.19 - 23:47
ага
   etc
 
82 - 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
   etc
 
83 - 26.01.19 - 23:50
в теге location поменяй путь на свой
   etc
 
84 - 26.01.19 - 23:51
стоп, файлик с ошибкой
   Kudryashka
 
85 - 26.01.19 - 23:51
(82) и куда положить? конкретно.
   etc
 
86 - 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>
   Kudryashka
 
87 - 26.01.19 - 23:55
должно что-то в логи упасть? ничего не упало.. я что-то не так сделала? путь поменяла...
   etc
 
88 - 26.01.19 - 23:56
Это полный лог всего. Он подхватится примерно через 60 секунд без рестарта сервера
   Kudryashka
 
89 - 26.01.19 - 23:56
в 1с перезашла на всякий случай
   etc
 
90 - 26.01.19 - 23:56
ну и попробуй обратись к веб-сервису.
   etc
 
91 - 26.01.19 - 23:57
всмысле к http сервису
   Kudryashka
 
92 - 26.01.19 - 23:57
так я обратилась.... сразу же. сейчас снова попробую.
   etc
 
93 - 26.01.19 - 23:58
там папки должны появиться, по одной на каждый запущеный rphost
   Kudryashka
 
94 - 26.01.19 - 23:59
появилось но чето пустой файл там. щас перезайду опять и обращусь.
   Kudryashka
 
95 - 27.01.19 - 00:00
уууу... какой большой лог...
   etc
 
96 - 27.01.19 - 00:00
папка с каким названием создалась?
   Kudryashka
 
97 - 27.01.19 - 00:01
httpd_5728  ну там еще другие, но я так поняла мне эта нужна
   etc
 
98 - 27.01.19 - 00:03
rphost_xxxx еще смотри

ищи строчку с EXCP
   Kudryashka
 
99 - 27.01.19 - 00:04
все остальные папки с префиксом 1cv8_
   Kudryashka
 
100 - 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!
  1  2   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует