我正在进入Magento SOAP api(v2)开始检索新订单等。
通过在服务器上运行此代码(通过url),我可以显示数组结果,但有没有办法可以将响应显示为xml?;
<?php
$proxy = new SoapClient('http://www.MAGENTO.co.uk/api/v2_soap/?wsdl');
$sessionId = $proxy->login('user', 'password');
$result = $proxy->salesOrderList($sessionId);
var_dump($result);
?>
答案 0 :(得分:6)
是的,您可以,我将在下面向您展示,但请记住,SOAP API的重点是抽象所有XML内容,让您处理编程系统的本机对象(在这种情况下, PHP)。
PHP的本机SOAP客户端实现具有调试方法,允许您查看上次发出的soap请求的请求和响应。您需要使用trace
选项实例化客户端对象。
$proxy = new SoapClient('http://www.MAGENTO.co.uk/api/v2_soap/?wsdl', array('trace' => 1));
然后你应该可以做这样的事情
//could echo as well, I always `var_dump` first in case of unexpected results
var_dump($proxy->__getLastRequestHeaders());
var_dump($proxy->__getLastRequest());
var_dump($proxy->__getLastResponseHeaders());
var_dump($proxy->__getLastResponse());
__getLastResponse
方法应返回原始SOAP XML。