Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Ошибка при обращении к web сервису 1с извне (http://forums.kuban.ru/f1040/oshibka_pri_obrashenii_k_web_servisu_1s_izvne-8652009.html)

Hedin 21.05.2018 18:21

Ошибка при обращении к web сервису 1с извне
 
Добрый день.
Подскажите ошибку или куда покопать можно.
Документацию перечитал, интернет излазил.
Хоть стреляться, не понимаю в чём прикол.

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

ВС вызываю для теста сервисом [url]http://phptester.net[/url]
[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с.

Hedin 21.05.2018 18:34

извиняюсь.
при публикации кода, почему-то фигурные скобки заменились на '**'

Jimbo 21.05.2018 19:21

пропробуй потестить SoapUI by SmartBear, неплохой инструмент для проверки веб-сервисов

Hedin 21.05.2018 19:31

2-Jimbo > SoapUI тестил, позамороченне, но смысл тотже, результат тотже, там ошибку какуюто другую пишет, но тоже не отражающую реальность.
ВС работает если у функции нет параметров, всё падает когда добавляются параметры.
При прямом обращее к файлу публикации структуру ВС я вижу.
В примере кода выше, есть кусок выводящий список доступных функций, функции видны и если есть параметры и если их нет!

Jimbo 21.05.2018 19:35

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

Hedin 21.05.2018 19:55

4-Jimbo > в том то и дело что без параметров работало, с параметрами нет.
Но Решилось!
Спасибо за участие.
х.з. чё было, почистил весь кэш что нашёл, рестартанул Апач, с 0ля еще раз пересоздал сервис.
Работает.
Надеюсь второй раз сервак так не глюканёт, 4 часа убил ((.


Текущее время: 03:42. Часовой пояс GMT +3.