0

我尝试使用 magento 网络服务,但是当我尝试调用网络服务时:

$proxy = new SoapClient(' http://mydomain.com/magento/index.php/api/v2_soap/?wsdl ');

我收到此错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从“ http://mydomain.com/magento/index.php/api/v2_soap/?wsdl ”加载:实体“复制' 未定义\n 在 /var/www/trunk/test.php:3\n堆栈跟踪:\n#0 /var/www/trunk/test.php(3),

所以这个实体'副本'没有定义你能告诉我为什么会这样,我应该在我的服务器中添加一些东西吗?

 $proxy = new SoapClient('http://127.0.0.1/magento/index.php/api/soap/?wsdl=1');

// create authorized session id using api user name and api key
// $sessionId = $proxy->login('apiUser', 'apiKey');
$sessionId = $proxy->login('karimeri', 'xxxxxxx');

 // Get customer info for customer id = 1
$customerinfo = $proxy->customerCustomerInfo($sessionId,1);

print_r($customerinfo);
4

1 回答 1

1

您是否有指向您的 127.0.0.1 地址的 mydomain.com 主机条目?如果您手动访问 URL,您真的可以在浏览器中看到 wsdl 吗?您是否安装了所有像 simplexml 一样的 PHP 库?如果您安装类似 Charles 网络代理的东西并运行请求,它可能会产生更多关于正在发生的事情的信息,例如可能的重定向和响应。您是否启用了日志,magento 系统或异常日志中是否有任何错误?

需要更多信息才能真正提供帮助。也是与 mydomain.com 相关的真正错误消息还是实际上是 127.0.0.1?如果是这样,您是否在管理员中配置了站点基本 URL?我怀疑这可能是 DNS 问题。

于 2013-09-18T19:50:50.237 回答