api - Magento API V2 - 为 API 响应添加附加属性

标签 api magento soap

我正在使用 Magento API V2。

当我打电话时 salesOrderCreditmemoInfo ,我收到了包含贷项通知单详细信息和与订单关联的产品列表的回复。

但是在产品列表中没有 product_type 属性。

我想手动编辑响应以添加此属性。

我尝试编辑:
app\code\core\Mage\Sales\Model\Order\Creditmemo\Api.php

并替换:

public function info($creditmemoIncrementId)
{
    ...
    $result['items'] = array();
    foreach ($creditmemo->getAllItems() as $item) {
        $result['items'][] = $this->_getAttributes($item, 'creditmemo_item');
    }

使用以下 - (基本上向数组附加一个额外的属性):
 public function info($creditmemoIncrementId)
    {
      ...
    $result['items'] = array();
    foreach ($creditmemo->getAllItems() as $item) {
            $product_type = '1'; //test value to check if works
            $attribs = $this->_getAttributes($item, 'creditmemo_item');
            $attribs['product_type'] = $product_type;

            $result['items'][] = $attribs;
        }

当我执行 mage::log($result) 时,额外的属性似乎已正确添加到数组中。
(也表明这个函数是被调用的函数)
但它对实际的 API 响应没有影响。

我是完全找错了地方还是我需要更新其他东西?

最佳答案

由于您使用的是 SOAP V2,您应该更新 wsdl.xml得到输出。

对于您的情况,它是 product_type 并刷新服务器上的缓存。 /tmp 加载新 wsdl.xml那个已经更新了。别忘了去系统 -> 缓存管理 清除所有缓存。

关于api - Magento API V2 - 为 API 响应添加附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222415/

相关文章:

nginx - Magento 2通过负载平衡器在多个magento服务器上共享哪些目录?

javascript xmlhttprequest 授权 magento oauth

java - 如何确定可以延长其响应时间的 Web 服务之外所花费的时间

c++ - 用于从汇编代码中提取 API 调用序列和控制流图的开源代码

java - 有人用过pubchemdb吗?有类似的API吗?

api - 为什么 lseek 返回 0?

api - 如何在生产中为基于微服务的应用程序部署多个版本的应用程序

javascript - Magento 调用帐户信息 phtml block

java - 从 WSDL 文件创建客户端

c# - 是否可以在 SOAP Web 服务中创建只读元素?