2015-11-17 72 views
0

我想在远程Magento安装(我不拥有,所以我不能访问代码或任何东西),但它不工作的新用户注册。Magento SOAP API:createCreateCustomer返回false,没有错误

我成功登录,但是当我调用customerCustomerCreate()方法时,它只是在没有任何补充信息的情况下返回false。用户不存在,但即使他做了我也会很高兴有一个错误信息!

这里是一个示例代码:

$soapClient = new SoapClient('URL TO THE WSDL'); 
$session = $soapClient->login('APIUSER','APIPASSWORD'); // Login ok 
$newUser = array('ALL THE INFOS ABOUT USER, AND MORE!'); 
$distantUserId = $soapClient->customerCustomerCreate($session, $newUser); 
// $distantUserId = false... 

对于$newUser,我有比Magento的要求的详细信息;因为我已经有用户在我身边了,我只是通过了我拥有的所有信息,即使它是Magento没有的字段,这可能是问题吗?

有没有办法让我有更多的错误信息?或者我必须问Magento的老板?

回答

1

如果你传递额外的字段,它们将被SOAP服务器过滤掉,所以这不成问题。

获得更多信息的唯一方法是要求提供日志或在Magento端启用开发者模式,如果这不是活的网站(可以通过服务器上的.htaccess完成)。开发者模式开启时,所有异常都会直接输出到客户端。

您也可以与我们分享客户资料。下面的格式对我的作品:

$client = new SoapClient('http://your.host/index.php/api/v2_soap/?wsdl'); 
$sessionId = $client->login('apiUser', 'apiKey'); 
$result = $client->customerCustomerCreate(
    $sessionId, 
    array(
     'email' => '[email protected]', 
     'firstname' => 'Dough', 
     'lastname' => 'Deeks', 
     'password' => 'password', 
     'website_id' => 1, 
     'store_id' => 1, 
     'group_id' => 1 
    ) 
); 
print_r($result); // Output ID of created customer 

当我尝试再进行一次同样的请求,我得到的SOAPFault预期:This customer email already exists(开发模式是关闭的)。

+0

愚蠢的错误在我身边,没有得到SoapFault,因为我没有将所有内容都包含在try/catch块中......现在我有了我的错误信息(用户数据有问题),我可以继续^^感谢您提及SoapFault! – Yoh

相关问题