我正在进入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);
?>
是的,你可以,我将在下面向您展示,但请记住,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。