Имя: Пароль:
1C
 
Веб сервис Ошибка 500 при вызове метода
0 Mary01
 
07.04.23
13:36
Всем добрый день!

Подскажите пожалуйста как исправить ошибку 500 при вызове метода веб-сервиса.

База опубликована на IIS сервере.
Делаю запрос (в Postman, Boomerang, Arc - результат идентичен).
https://itservice.ru/exchange/ws/exchangeAB?wsdl - получаю ответ 200 и перечисление всех методов, которые есть в этом сервисе.
Далее делаю запрос по этому же адресу, но в Body указываю конкретный метод:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:exc="http://www.exchangeAB.ru">
<soapenv:Header/>
<soapenv:Body>
<exc:GetChecks/>
</soapenv:Body>
</soapenv:Envelope>

и получаю ошибку 500.Internal Server Error
1 Галахад
 
07.04.23
13:48
В методе ошибков нету?
2 Mary01
 
07.04.23
13:50
(1) нет, та же самая конфигурация отрабатывает правильно на другом сервере
3 vicof
 
07.04.23
13:51
(2) Есть, 500 ошибка, это 99% ошибка в коде
4 vicof
 
07.04.23
13:52
Говорят, можно включить отладчик на отлов вызовов методов веб-сервисов и остановку по ошибке поставить.
5 Галахад
 
07.04.23
13:57
(2) Для проверки можно урезать метод до банального ответа и проверить взлетит ли.
6 lodger
 
07.04.23
14:14
(5) завернуть всё что есть в методе в попытку, при исключении в ответ отдавать описаниеошибки
7 arsik
 
07.04.23
16:14
(4) (5) (6) А можно просто ошибку посмотреть в журнале регистраций 1С.
8 lodger
 
07.04.23
16:29
(7) это не спортивно!
9 BaZZiL
 
07.04.23
17:20
Так-то в Постмане оно даже пишет номер строки модуля, в которой произошла ошибка. Но это при публикации на Апаче.

(3) Обычный синтаксический контроль не работает. Конфигурация -Проверка галочка "Сервер".

Ошибка скорее всего из-за отсутствия  в данных поля какого-нибудь значения, к которому происходит обращение.

(4) Отладка-Подключение. "Автоматическое подключение" - Галочка "Web сервисы".
10 vicof
 
07.04.23
18:14
(9) Да я-то знаю. Это тонкий намек для ТС был
11 ДедМорроз
 
08.04.23
15:26
Ошибка может быть в коде получения параметров сеанса,который начинается до вызова кода web-сервиса.
12 Mary01
 
20.04.23
08:14
Всем привет, в итоге проблема была с кодом, а не с сервером. а точнее с правами доступа - у пользователя, под которым выполнялся запрос, не было прав на справочник, данные из которого нужно было получить.
Спасибо! Помогло урезать метод до банального ответа - закомментировала весь код кроме конечного ответа - получила ответ 200 (ок), потом из кода стало понятно, что не хватает прав. После добавления прав пользователю все заработало!
Отладчиком я не пользовалась потому что на рабочих серверах по традиции отладка отключена (а на тестовом сервере всё работало).