2013-01-31 3 views
0

Я пытаюсь передать xml для отдыха API am building с cakephp 2.3.0, и я получаю сообщение об ошибке, но я сделал его работу с cakephp 1.3. Я задаюсь вопросом, связана ли проблема с базой ядра XML cakephp.Ошибка XML с cakephp 2.3.0 stable

XML-строка утра регистраци, как показано ниже

<?xml version="1.0" encoding="UTF-8"?> 
<username>my username</username> 
<password>mypassword</password> 
<name>Namanya Hillary</name> 
<title>mytitle</title> 

И ошибка, как показано ниже

2013-01-31 07:32:25 Error: [Exception] String could not be parsed as XML 
#0 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\Xml.php(131): SimpleXMLElement->__construct('<?xml version="...', 16384) 
#1 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\Xml.php(100): Xml::_loadXml('<?xml version="...', Array) 
#2 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Component\RequestHandlerComponent.php(222): Xml::build('<?xml version="...') 
#3 [internal function]: RequestHandlerComponent->convertXml('<?xml version="...') 
#4 E:\wamp\www\cakephp2.3.0\lib\Cake\Network\CakeRequest.php(828): call_user_func_array(Array, Array) 
#5 [internal function]: CakeRequest->input(Array) 
#6 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Component\RequestHandlerComponent.php(207): call_user_func_array(Array, Array) 
#7 [internal function]: RequestHandlerComponent->startup(Object(CompaniesController)) 
#8 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\ObjectCollection.php(131): call_user_func_array(Array, Array) 
#9 [internal function]: ObjectCollection->trigger(Object(CakeEvent)) 
#10 E:\wamp\www\cakephp2.3.0\lib\Cake\Event\CakeEventManager.php(247): call_user_func(Array, Object(CakeEvent)) 
#11 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Controller.php(670): CakeEventManager->dispatch(Object(CakeEvent)) 
#12 E:\wamp\www\cakephp2.3.0\lib\Cake\Routing\Dispatcher.php(183): Controller->startupProcess() 
#13 E:\wamp\www\cakephp2.3.0\lib\Cake\Routing\Dispatcher.php(161): Dispatcher->_invoke(Object(CompaniesController), Object(CakeRequest), Object(CakeResponse)) 
#14 E:\wamp\www\forex\webroot\index.php(102): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) 
#15 {main} 

Я попытался прохождения XML непосредственно в ядро ​​утилиты XML-файла в папке утилиты, как показано ниже на линии 130

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><username>my username</username><password>mypassword</password><name>Namanya Hillary</name><title>mytitle</title>', LIBXML_NOCDATA); 

, но такое же исключение возникает. Пожалуйста, помогите мне, если вы столкнулись с такой проблемой или если вы видите ошибку. Ссылки на решения будут полезны. Заранее спасибо.

ответ

4

Правильно сформированный XML должен иметь один корневой элемент. У вас этого нет. Попробуйте сделать запрос в формате:

<?xml version="1.0" encoding="UTF-8"?> 
<request> 
    <username>my username</username> 
    <password>mypassword</password> 
    <name>Namanya Hillary</name> 
    <title>mytitle</title> 
</request> 
+0

спасибо, чувак. который помог многим избавиться от ошибки, не понял, что у меня есть несколько корневых элементов. Еще раз спасибо. –

Смежные вопросы