2015-09-09 83 views
0

我爲移動應用程序開發了Prestashop Web服務。Add order web service

我可以連接用戶,創建用戶帳戶,創建購物車,但我無法創建訂單。

我有以下錯誤:

HTTP XML response is not parsable: array (0 => LibXMLError::__set_state(array('level' => 3, 'code' => 9, 'column' => 64, 'message' => 'Input is not proper UTF-8, indicate encoding ! Bytes: 0x95 0x08 0x77 0xE2 ', 'file' => '', 'line' => 778,)), 1 => LibXMLError::__set_state(array('level' => 3, 'code' => 9, 'column' => 65, 'message' => 'PCDATA invalid Char value 8 ', 'file' => '', 'line' => 778,)), 2 => LibXMLError::__set_state(array('level' => 3, 'code' => 9, 'column' => 77, 'message' => 'PCDATA invalid Char value 12 ', 'file' => '', 'line' => 778,)), 3 => LibXMLError::__set_state(array('level' => 3, 'code' => 9, 'column' => 78, 'message' => 'PCDATA invalid Char value 14 ', 'file' => '', 'line' => 778,)), 4 => LibXMLError::__set_state(array('level' => 3, 'code' => 64, 'column' => 51, 'message' => 'XML declaration allowed only at the start of the document ', 'file' => '', 'line' => 14954,)), 5 => LibXMLError::__set_state(array('level' => 3, 'code' => 64, 'column' => 51, 'message' => 'XML declaration allowed only at the start of the document ', 'file' => '', 'line' => 17864,)), 6 => LibXMLError::__set_state(array('level' => 3, 'code' => 64, 'column' => 51, 'message' => 'XML declaration allowed only at the start of the document ', 'file' => '', 'line' => 20773,)), 7 => LibXMLError::__set_state(array('level' => 3, 'code' => 64, 'column' => 33, 'message' => 'XML declaration allowed only at the start of the document ', 'file' => '', 'line' => 21368,)),)

我試圖改變網頁的編碼,UTF-8,但沒有什麼可以做。

這是我的PHP:

<?php 

// Here's how you create a webservice call: 
define('PS_SHOP_PATH', 'localhost:8888/MON_SITE'); 
define('PS_WS_AUTH_KEY', 'MA_CLEF'); 
define('DEBUG', true); 

require_once('PSWebServiceLibrary.php'); 

try { 

$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); 
$opt = array('resource' => 'orders'); 
$xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/orders?schema=synopsis')); 

$xml->children()->children()->id_address_delivery = 6; 
$xml->children()->children()->id_address_invoice = 6; 
$xml->children()->children()->id_cart = 136; 
$xml->children()->children()->id_currency = 1; 
$xml->children()->children()->current_state = 1; 
$xml->children()->children()->id_lang = 1; 
$xml->children()->children()->id_customer = 1; 
$xml->children()->children()->id_carrier = 0; 
$xml->children()->children()->total_paid = '56973'; 
$xml->children()->children()->total_paid_real = '56973'; 
$xml->children()->children()->total_paid_tax_excl = '56973'; 
$xml->children()->children()->total_paid_tax_incl = '56977'; 
$xml->children()->children()->total_products = 1338; 
$xml->children()->children()->total_products_wt = 1337; 
$xml->children()->children()->conversion_rate = '1'; 
$xml->children()->children()->secure_key = md5('-1'); 
$xml->children()->children()->valid = 1; 
$xml->children()->children()->module = 'Cheque'; 
$xml->children()->children()->payment = 'cheque'; 
$xml->children()->children()->current_state = 1; 

unset($xml->children()->children()->id); 
unset($xml->children()->children()->date_add); 
unset($xml->children()->children()->date_upd); 
unset($xml->children()->children()->associations); 
unset($xml->children()->children()->delivery_date); 
unset($xml->children()->children()->invoice_date); 
unset($xml->children()->children()->total_discounts_tax_incl); 
unset($xml->children()->children()->total_discounts_tax_excl); 

$xml = $webService->add(array('resource' => 'orders', 
'postXml' => $xml->asXML() 
)); 

$resources = $xml->children()->children(); 
echo "Successfully added order.".$resources->id; 

} 
catch (PrestaShopWebserviceException $ex) 
{ 
    // Here we are dealing with errors 
    $trace = $ex->getTrace(); 
    if ($trace[0]['args'][0] == 404) echo 'Bad ID'; 
    else if ($trace[0]['args'][0] == 401) echo 'Bad auth key'; 
    else echo 'Other error<br />'.$ex->getMessage(); 
} 
?> 

回答

0

親愛試試這個代碼你在哪裏得到XML響應。

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object"); 
print_r($xml); 

檢查了這一點XML Parsing PHP

+0

的對象被創建但我現在收到這個錯誤:'「HTTP XML響應爲不能分析:陣列(\ N 0 => \ n LibXMLError :: __ set_state( array'(\ n'level'=> 3,\ n'code'=> 4,\ n'列'=> 1,\ n'message'=>'預期開始標記,\'未找到'\' \ n',\ n'file'=>'',\ n'line'=> 2,\ n)),\ n)「',有什麼想法? – user1269586

+0

我得到了同樣的問題。我在通過網絡檢查模板themes/default-bootstrap/mails/en/order_conf_product_list.txt時出現語法錯誤時出現錯誤「。我認爲在通過管理員更改郵件模板時文件已更改此問題已在Web服務,修復了order_conf_product_list.txt文件後,請檢查您是否可以通過網絡創建訂單 – alamelu