Magento SOAP API不返回XML

时间:2016-11-24 16:23:34

标签: php xml api magento soap

我正在使用Magento 1.9CE,目前正在尝试使用SOAP v2 API获取客户列表:

$client = new SoapClient('https://mywebsite.co.uk/api/v2_soap?wsdl=1');
$client->startSession();
$session = $client->login('myUser', 'myPass');
$customerList = $client->customerCustomerList($session);
$client->endSession($session);

我收到以下错误:

  

致命错误:未捕获的SoapFault异常:[客户端]看起来像我们得到的   没有XML文档

不用担心,可能是典型的BOM问题,所以我使用这段代码:

class SoapClientNG extends \SoapClient {
    public function __doRequest($req, $location, $action, $version = SOAP_1_1){
        $xml = explode("\r\n", parent::__doRequest($req, $location, $action, $version));
        $response = preg_replace( '/^(\x00\x00\xFE\xFF|\xFF\xFE\x00\x00|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', "", $xml[0] );
        return $response;
    }
}

没有运气。相同的XML错误。

如果我回复$client__getLastResponse(),那么您可以看到我实际上从API获取数据。它返回了一大堆带有客户信息的字符串:(我明显更改了名称,电子邮件和密钥)

6df498735273201a7c14884731265f32:SwSWKGIHACbtO7BOEH382733uYHbcOIZ 376 2016-01-13 15:56:41 2016-01-19 08:19:13 000000288 1 1 English customer1@yahoo.com John Waters 1
6df498735273201a7c14884731265f32:SwSWKGIHACbtO7BOEH382733uYHbcOIZ 377 2016-01-16 09:29:07 2016-01-16 09:42:44 000000289 1 1 English cusomter2@yahoo.com Paul Beaufort 1
6df498735273201a7c14884731265f32:SwSWKGIHACbtO7BOEH382733uYHbcOIZ 378 2016-01-18 07:21:21 2016-07-12 13:21:17 000000290 1 1 English customer3@google.com Linda Yagee 1
6df498735273201a7c14884731265f32:SwSWKGIHACbtO7BOEH382733uYHbcOIZ 379 2016-01-20 09:28:41 2016-01-20 12:30:06 000000291 1 1 English customer4@gmail.com Fred 1
6df498735273201a7c14884731265f32:SwSWKGIHACbtO7BOEH382733uYHbcOIZ 380 2016-01-21 07:36:55 2016-01-21 07:36:55 000000292 1 1 English customer5@eventland.com Paul Bishop 1

我出错了什么?

0 个答案:

没有答案