Извиняюсь за дублирование темы, но в этом разделе она будет более профильная.
Задача состоит в том чтобы отправить XML через пост запрос с именем XML, и получить ответ тоже в виде XML.
Реализовал так:
$return = JURI::root(). "index.php?option=com_jshopping&controller=checkout&task=step7&act=return&js_paymentclass=pm_avangard";
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<NEW_ORDER>
<SHOP_ID>{$pmconfigs['eshop_id']}</SHOP_ID>
<SHOP_PASSWD>{$pmconfigs['Password']}</SHOP_PASSWD>
<AMOUNT>{$order->order_total}</AMOUNT>
<ORDER_NUMBER>{$order->order_id}</ORDER_NUMBER>
<ORDER_DESCRIPTION>Оплата заказа {$order->order_id}</ORDER_DESCRIPTION>
<LANGUAGE>RU</LANGUAGE>
<BACK_URL>{$return}</BACK_URL>
</NEW_ORDER>";
jimport( 'joomla.client.http' );
$opt = new JRegistry;
$trans = new JHttpTransportCurl($opt);
$http = new JHttp($opt,$trans);
$response = $http->post("https://www.avangard.ru/iacq/h2h/reg",array('xml'=>$xml));
$result = $response->body;
if($result)
$obj = new SimpleXMLElement($result);
$dbValues['ticket_id'] = strval(@$obj->ticket);
echo $xml;
echo "<br>";
echo $result;
echo "<br>";
echo $dbValues['ticket_id'];
Формирую XML, и через
cURL отправляю серверу. Но возникает проблема, сервер не принимает то что я ему отсылаю, возвращая ответный XML такой же, как при доступе просто по ссылке https://www.avangard.ru/iacq/h2h/reg.
При выполнении
Выводится только набор переменных участвовавших в формировании разделенных пробелами, что собственно и натолкнуло меня на мысль, о неправильности формы передачи данных. Так же если попробовать выполнить:
$obj = new SimpleXMLElement($xml)
Сервер ругается на недопустимость парсить строку как XML.
Подскажите в чем может быть причина. Заранее благодарен.