Имя: Пароль:
1C
1С v8
Вызов веб-сервиса 1С из php: ничего не возвращает
0 Юрий Лазаренко
 
22.03.13
13:42
В первый раз в первый класс, так что не пинайте сильно.
Есть в 1С веб-сервис SiteEx с операцией getinvoice и ее параметром invoiceID, тип параметра - string (http://www.w3.org/2001/XMLSchema). В модуле операции все просто:

Функция ПолучитьСчет(invoiceID)
   Результат = "Тест пройден! " + invoiceID;
   Возврат Результат;
КонецФункции


Текст модуля php:
<pre>
<?php
    $client = new SoapClient("http://porno.ru/ut_77/ws/siteex.1cws?wsdl",array(
   "trace"      => 1,
   "exceptions" => 0,
   "login" => "******",
   "password" => "********"));
     $a["invoiceID"] = "123";
    $result = $client->getinvoice($a);
     echo ('Результ: '. $result);
?>
</pre>


Вызов сервиса происходит, но в результате получаем такое:
<pre>

То есть, дальше вызова сервиса дело не идет и закрывающий тег </pre> не грузится.

Подскажите в какую сторону копать.
1 Фрагстер
 
22.03.13
13:43
(0) а error reporting в php какой?
2 Фрагстер
 
22.03.13
13:43
забавный wsdl, кстати
3 Юрий Лазаренко
 
22.03.13
13:46
(1) Где его посмотреть? php стоит у хостера на серваке...
4 Фрагстер
 
22.03.13
13:52
(3) короче, сделай


       try {

.......            

       } catch (Exception $exc) {
           echo ("\n".$exc->getMessage());
           echo ("\n".$exc->getTraceAsString());
       }
5 Юрий Лазаренко
 
22.03.13
13:57
(4) Дуля, ничего не выводит кроме <pre>.

Попробовал перед echo ("Результ" . $result); вставить $b=1/0; - отлавливает ошибку, выдает Warning:  Division by zero in /home/safemoney/safemoney.nichost.ru/docs/bitrix/test.php on line 13


Попробовал закомментить строчку echo ("Результ" . $result); - в результате с сервера пришло
<pre>
</pre>

То есть проблема возникает при вызове echo, а не самого сервиса.
6 Юрий Лазаренко
 
22.03.13
13:59
Ыыыыы, я лошара. Помогло
print_r($result);

Там массив возвращается.
7 Юрий Лазаренко
 
22.03.13
13:59
(4) Спасиб за поддержку )
8 Юрий Лазаренко
 
22.03.13
14:01
В результате получаем не строку, а вот такое дело:
stdClass Object
(
   [return] => Тест пройден! 123
)