Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

обмен данными

00 голосов
4
Здравствуйте, стоит задача наладить обмен данными со сторонним ресурсом, по средствам XML. Схема такова, пользователь на сайте вводит данные, эти данные должны обработаться и уйти на сторонний ресурс. От туда результат запроса возвращаются обратно, где опять же обрабатывается и выводится на странице. Как бы это реализовать в битриксе. На первый взгляд все просто, но покопавшись в инфе, понимаю что это не совсем так. В документации поискал, похожего ничего не нашел((
спросил 26 Дек, 13 от rg (440 баллов)

4 Ответы

00 голосов
Модуль веб-сервисов.
ответил 19 Март, 14 от Pomnep (13,960 баллов)
00 голосов
спасибо, буду разбираться, что к чему и чем едят
ответил 11 Июль, 14 от rg (440 баллов)
00 голосов
Покопался в документации, все не так просто как казалось на первый взгляд, помогите разобраться чуть-чуть в алгоритме.

Первым что я делаю, подключаю модуль веб сервис.
далее создаю
Код
$client = new CSOAPClient("www.storonniyservis.ru", "/1/2/3");
, собственно адрес, где находится стронний сервис.
следующим моим шагом, становится
Код
$request = new CSOAPRequest(вот тут загвоздка, не понимаю, какие параметры тут необходимо указать, покопавшись немного, понял, что здесь формируется SOAPAction,но что размещать в этой строке я так и не понял :( );

Дальше добавляем передаваемые параметры с помощью
Код
$request->addParameter(массив);

Здесь отсылаем наш конверт.
Код
$response = $client->send( $request );

Собственно тут мы выводим наш запрос на сервис и ответ сервиса
Код
echo "SOAPRequest: ".($client->getRawRequest());
echo "SOAPResponse: ".($client->getRawResponse());


По сути, как я понял, это должно хватить для ответа стороннего сервиса, даже если он передаст false, но ситуация такова, что когда я ввожу адрес сервиса, происходит ошибка.
Цитата
Fatal error: Call to a member function children() on a non-object in C:\Program Files\Bitrix Environment\www\bitrix\modules\webservice\classes\­­general\soap\soapresponse.php on line 81
, решил добавить функцию addChild, выдает такую же ошибку, только в моем скрипте. Подскажите пожалуйста, куда двигаться, в документации расплывчато все, сразу видно писалась для профессионалов , примеры есть, но описание их очень и очень скудное(
ответил 11 Ноя, 14 от rg (440 баллов)
00 голосов
в общем продвижения есть, выбрал другой сервис, тестовый, запрос уходит, ответ приходит. Но появилась другая проблема.
Сервис, к которому я должен отправлять запрос, находится по адресу http://srv.servis.net
когда я прописываю этот адрес в
Код
$client = new CSOAPClient("srv.servis.net", "/online/prices.svc");

получаю ошибку
Цитата
Fatal error: Call to a member function children() on a non-object in C:\Program Files\Bitrix Environment\www\bitrix\modules\webservice\classes\­­­general\soap\soapresponse.php on line 81

как ее обойти? что я не так делаю?
ответил 08 Март, 15 от rg (440 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 22 Апр, 13 от HeJIJIu (630 баллов)
0 голосов
1 ответ
спросил 19 Янв, 16 от skyglider (340 баллов)
0 голосов
2 ответов
0 голосов
2 ответов
спросил 20 Апр, 14 от vjick (100 баллов)
0 голосов
4 ответов
спросил 02 Янв, 14 от Oggi (520 баллов)