[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер XML
web-monster
Делаю скрипт для приёма платежей через терминал, они мне отправляют post xml я должен его принять обработать получить значения, проверить возможность платежа и вернуть ответ.

Сейчас принимаю так(я с xml практически не сталкивался по-этому может где-то косяк):
<?php

if(isset($HTTP_POST_RAW_DATA))
{

$xml = simplexml_load_string($HTTP_POST_RAW_DATA);
$type = (string) $xml->attributes();
$amount = (string) $xml->amount;
$contract = (string) $xml->contract;
$point = (string) $xml->point;
$receipt = (string) $xml->receipt;
$ps_code = (int) $xml->ps_code;
$ps_tid = (int) $xml->ps_tid;
$ps_time = (string) $xml->ps_time;

и дальше уже как бы обработка должна идти. Но они прислали вот такой вот лог:

0000008586/2011-02-03 15:53:10: * Request:
0000008586/2011-02-03 15:53:10: <?xml version="1.0" encoding="UTF-8"?>
0000008586/2011-02-03 15:53:10: <request type="check" >
0000008586/2011-02-03 15:53:10: <ps_code>101</ps_code>
0000008586/2011-02-03 15:53:10: <ps_tid>139711029</ps_tid>
0000008586/2011-02-03 15:53:10: <contract>67.66</contract>
0000008586/2011-02-03 15:53:10: </request>
0000008586/2011-02-03 15:53:11: * Receive answer (Thu Feb 3 15:53:11 2011):
0000008586/2011-02-03 15:53:11: * HTTP 200
0000008586/2011-02-03 15:53:11: * Response:
0000008586/2011-02-03 15:53:11: No data in request
0000008586/2011-02-03 15:53:11: * Invalid XML response: error occurred while parsing element at line 1 column 1

Подскажите в чём ошибка, может принимаю не так?



Спустя 11 часов, 36 минут, 19 секунд (12.02.2011 - 12:36) Snus написал(а):
web-monster
показывай код simplexml_load_string

Спустя 55 минут, 50 секунд (12.02.2011 - 13:32) web-monster написал(а):
Так вот же:
0000008586/2011-02-03 15:53:10: <?xml version="1.0" encoding="UTF-8"?>
0000008586/2011-02-03 15:53:10: <request type="check" >
0000008586/2011-02-03 15:53:10: <ps_code>101</ps_code>
0000008586/2011-02-03 15:53:10: <ps_tid>139711029</ps_tid>
0000008586/2011-02-03 15:53:10: <contract>67.66</contract>
0000008586/2011-02-03 15:53:10: </request>

вот это они мне отправляют, и я уже должен перебрать.

Спустя 1 день, 6 часов, 25 секунд (13.02.2011 - 19:32) web-monster написал(а):
help

Спустя 4 часа, 20 минут, 52 секунды (13.02.2011 - 23:53) Guest написал(а):
Сверьте поля запрашиваемые в request и считываемые, на первой же линии указывает что $amount = (string) $xml->amount; нет такого поля, сделайте var_dump каждому считываемому полю
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.