0

PHP 内で XMLRPC を使用して、Magneto でユーザーを作成しようとしています。ページから直接呼び出すと呼び出しは成功しますが、同じ呼び出しを関数内に配置すると、まったく発生しません。何か案は?

ページ上に直接コード: [完璧に機能]

<?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' => 'nasr@di91.com','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&em=uuuy@gmail.com&f=ab&l=ty&p=kaddoo

4

1 に答える 1