2013-10-01 41 views
0

我正嘗試在PHP中使用XMLRPC在Magneto中創建用戶。當直接從頁面調用它時,調用是成功的,但是,如果我將同一個調用放在一個函數中,它根本不會發生。有任何想法嗎?從函數內調用時不發生Magento調用

代碼頁直接:[工作完美]

<?php 
require 'Zend/XmlRpc/Client.php'; 
$client = new Zend_XmlRpc_Client('myclient.com/api/xmlrpc/'); 
$session = $client->call('login', array('myuser', 'mypass')); 
$new_customer = array('email' => '[email protected]','firstname' => 'Nair','lastname' => 'Perwaiz','password' => '123456','website_id' => 1,'store_id' => 1,'group_id' => 1); 
$zendSpecificArray =array(Zend_XmlRpc_Value::getXmlRpcValue($new_customer,Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT)); 
$rArray = array($session,'customer.create',$zendSpecificArray); 
$new_customer_id = $client->call('call',$rArray); 
$rtnval='<?xml version="1.0"?>'.PHP_EOL; 
$rtnval.='<root>'.PHP_EOL; 
$rtnval.='<result>'.'Customer created with ID :'.$new_customer_id .'</result>'.PHP_EOL; 
$rtnval.='</root>'.PHP_EOL; 
$client->endSession($session); 
header('Content-Type:','Application/xml'); 
echo $rtnval; 
?> 

代碼的函數內部:接收無輸出]

function registerUser($email,$firstname,$lastname,$password) 
{ 
$client = new Zend_XmlRpc_Client('myclient.com/api/xmlrpc/'); 
$session = $client->call('login', array('myuser', 'mypass')); 
$new_customer = array('email' => $email,'firstname' => $firstname,'lastname' => $lastname, 'password' => $password,'website_id' => 1,'store_id' => 1,'group_id' => 1); 
$zendSpecificArray =array(Zend_XmlRpc_Value::getXmlRpcValue($new_customer,Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT)); 
$rArray = array($session,'customer.create',$zendSpecificArray); 
$new_customer_id = $client->call('call',$rArray); 
$rtnval='<?xml version="1.0"?>'.PHP_EOL; 
$rtnval.='<root>'.PHP_EOL; 
$rtnval.='<result>'.'Customer created with ID :'.$new_customer_id .'</result>'.PHP_EOL; 
$rtnval.='</root>'.PHP_EOL; 
$client->endSession($session); 
header('Content-Type:','Application/xml'); 
echo $rtnval; 
} 

電話:http://localhost/xxx/rpcclient/rpc.php?methodname=registeruser&[email protected]&f=ab&l=ty&p=kaddoo

+0

我可能會在這裏說明一些明顯的問題,但是您是否在代碼中某處調用了'registerUser(...)'?如果是這樣,請將該代碼添加到問題中 – Marius

回答

0

冉Wireshark的跟蹤和發現我的程序沒有捕捉到錯誤。所以修好了。非常感謝大家!

相關問題