Имя: Пароль:
   
1C
1С v8
Ошибка при обращении к web сервису 1с извне
0 Hedin
 
21.05.18
19:00
Добрый день.
Подскажите ошибку или куда покопать можно.
Документацию перечитал, интернет излазил.
Хоть стреляться, не понимаю в чём прикол.

Запилил в 1С(8.3.12.1412) вэб сервис, конфигурация самописная.

ВС вызываю для теста сервисом http://phptester.net

[code]
<?php
$wsdl_url ='http://*.*.*.*/1cws/ws/*.1cws?wsdl';
$login = '***';
$pass = '***';
try {  
     $client = new SoapClient($wsdl_url, array('login'=>$login, 'password'=>$pass));
} catch (SoapFault $e) {  
    echo $e;
}

foreach($client->__getFunctions() as $V){
    var_dump($V);echo '<br>';
}

$parameters = array('StartDate1'=>'2018-04-01', 'FinishDate'=>'2018-04-20');
$res = $client->GetLessons($parameters);
var_dump($res);
[/code]

Если параметров у Операции(Метода) нет в 1С и не переданно при вызове, всё работает хорошо.
Если параметры у Операции прописаны, но внешний ресурс вызывает с неправильным количеством параметров получаю ошибку "неверное количество параметров"
Если параметры у операции заданы и ВС вызывается с правильным количеством параметров имею ошибку:
"FATAL ERROR Uncaught SoapFault exception: [soap:Client] Unknown error. Insufficient number of operation parameters reason: Insufficient number of operation parameters"    

Cобствено в ступор ставит последнее. Параметров нужное количество, параметры в правильном значении, а ошибка не идентифицирует проблему.
Ошибка утверждает что "Недостаточное количество параметров операции", но параметров ровно столько сколько определено в 1с.
1 Cyberhawk
 
21.05.18
19:14
Кэш конфигурации где-то используется, создай инфобазу заново
2 Hedin
 
21.05.18
19:16
(1) пробовал, не помогает.
также сервис пересоздавал с другим именем, с минимум всего используемого.
при любом раскладе всё работает но без параметров, добавляется хоть один параметр и ошибка.
3 Hedin
 
21.05.18
19:18
(1) если сервис сразу создать с параметрами, та-же ошибка. причём в этой базе есть другой Веб сервис, с 2мя параметрами, он работает не смотря ни на что ))
4 Cyberhawk
 
21.05.18
19:20
Ты пади псевдонимы веб-сервисов в диалоге публикации (ну, или в итоговом файле описания для веб-сервера) напутал
5 Cyberhawk
 
21.05.18
19:21
Могу подключиться и быстренько посмотреть, если там будет открыт пофигуратор. Пиши в личку.
6 Hedin
 
21.05.18
19:29
(5) ВС работает если функции нет параметров, всё падает когда добавляются параметры.
При прямом обращее к файлу публикации структуру ВС я вижу.
В примере кода выше, есть кусок выводящий список доступных функций, функции видны и если есть параметры и если их нет!
7 Cyberhawk
 
21.05.18
19:40
Дерни веб-сервис внешней обработкой на 1С
8 Hedin
 
21.05.18
19:52
(7) Спасибо за участие, оно заработало.
х.з. чё было, почистил весь кэш что нашёл, рестартанул Апач, с 0ля еще раз пересоздал сервис.
Работает.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.