Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: 1C+Web Services+PHP (SOAP)
Форумы портала PHP.SU » PHP » Программирование на PHP » 1C+Web Services+PHP (SOAP)

Страниц (1): [1]
 

1. Alex99 - 19 Июля, 2008 - 15:17:19 - перейти к сообщению
Понадобилось получать данные из 1С на сайт.
Посмотрев на 1С WebServises угляделось, что он в общем то SOAP.

Запустив работоспособный пример по получению данных с сайта Xmetods решил растпространить его на 1С.
Оно даже отвечает, но как добраться до возвращаемых данных, что то я не пойму Улыбка.
Может подскажет кто?

Собственно код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
  4. <?PHP
  5.      $client = new SoapClient("http://192.168.100.93/ws/preved.1cws?wsdl", array("trace" => 1,"exceptions" => 1));
  6.      $result = $client->prevedWorld("");
  7.      var_dump($client->__getTypes());
  8.      echo "<br>";
  9.      
  10.      echo ">>",$result->prevedWorld,"<<<br>";
  11.      echo ">>",$result->prevedWorldResponse,"<<<br>";
  12.      print "<pre>\n";
  13.      print "Запрос:\n".htmlspecialchars($client->__getLastRequest()) ."\n";
  14.      print "Ответ:\n".htmlspecialchars($client->__getLastResponse())."\n";
  15.      print "</pre>";
  16. ?>
  17. </html>
  18.  


Собственно вывод данного кода
CODE (text):
скопировать код в буфер обмена
  1.  
  2. array(2) { [0]=>  string(22) "struct prevedWorld { }" [1]=>  string(46) "struct prevedWorldResponse { string return; }" }
  3. >><<
  4. >><<
  5.  
  6. Запрос:
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample-package.org"><SOAP-ENV:Body><ns1:prevedWorld/></SOAP-ENV:Body></SOAP-ENV:Envelope>
  9.  
  10. Ответ:
  11. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  12.         <soap:Header/>
  13.         <soap:Body> <m:prevedWorldResponse xmlns:m="http://www.sample-package.org">
  14.         <m:return xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  15.                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Здоровеньки булы, друзи!<br></m:return>
  16. </m:prevedWorldResponse></soap:Body>
  17. </soap:Envelope>
  18.  


Собственно результат то "Здоровеньки булы, друзи!&lt;br&gt;" вот только вопрос как его достать (парсить ответ не предлагать Улыбка).

p.s. За качество кода не пинать он эксперементальный. Заработает - причешу.
2. Джур - 22 Июля, 2008 - 06:00:26 - перейти к сообщению
Alex99 пишет:
парсить ответ не предлагать

...белое не носить и не танцевать Улыбка))

С SOAP работает мало народу, ибо есть способы проще и интуитивно понятней.
3. Alex99 - 22 Июля, 2008 - 12:28:17 - перейти к сообщению
Угу.
Кто бы это 1С объяснил.
4. Джур - 22 Июля, 2008 - 20:13:26 - перейти к сообщению
Угу...
Мне тут надо справочник наменклатуры вывести из 1С77 в csv файл... штатными средствами никак, то цен нету то остатков... А 1С_программеры забурили цену за даную хрень, выше чем стоимость всего веб-магазина...

Тут грешным делом захотелось переписать 1С:Предприятие на РНР. Ха-ха И жить станет проще.
5. Paltash - 16 Октября, 2008 - 13:55:48 - перейти к сообщению
Попробуй строчку
echo $result->return;
6. valenok - 16 Октября, 2008 - 16:39:54 - перейти к сообщению
Это вы к чему? я Попробовал. Приправить уксусом и нормально.
7. Paltash - 17 Октября, 2008 - 10:13:04 - перейти к сообщению
$result->return - это так можно добраться до того, что возвращает 1С.
8. valenok - 17 Октября, 2008 - 11:42:57 - перейти к сообщению
Теме уже более 3 месяцев..
Ну да ладно, может кому то пригодится
9. serpis - 31 Января, 2012 - 14:31:53 - перейти к сообщению
Столкнулся с той же проблемой Огорчение , если кто-то нашел решение ..просьба написать.

 

Powered by ExBB FM 1.0 RC1