【问题标题】:Magento 2 Error: Property "xxx" does not have corresponding setter in classMagento 2 错误:属性“xxx”在类中没有相应的设置器
【发布时间】:2018-08-09 17:29:00
【问题描述】:

我们正在使用 Magento 2.1 并安装了这个未正确安装的 Store Pickup module

该模块已通过 SSH 禁用,现在我们在结帐时收到与商店取货相关的错误。

来自日志:

Next Exception: Report ID: webapi-5b689909809ce; Message: Property "PickupStore" does not have corresponding setter in class "Magento\Checkout\Api\Data\ShippingInformationExtensionInterface". in /home/reorder/public_html/vendor/magento/framework/Webapi/ErrorProcessor.php:195
Stack trace:
#0 /home/reorder/public_html/vendor/magento/framework/Webapi/ErrorProcessor.php(139): Magento\Framework\Webapi\ErrorProcessor->_critical(Object(LogicException))
#1 /home/reorder/public_html/vendor/magento/module-webapi/Controller/Rest.php(219): Magento\Framework\Webapi\ErrorProcessor->maskException(Object(LogicException))
#2 /home/reorder/public_html/var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(37): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#3 /home/reorder/public_html/vendor/magento/framework/App/Http.php(135): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#4 /home/reorder/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#5 /home/reorder/public_html/routes.php(225): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#6 /home/reorder/public_html/wingstop/index.php(6): include('/home/reorder/p...')
#7 {main} [] []
[2018-08-06 18:54:13] main.CRITICAL: LogicException: Property "PickupStore" does not have corresponding setter in class "Magento\Checkout\Api\Data\ShippingInformationExtensionInterface". in /home/reorder/public_html/vendor/magento/framework/Reflection/NameFinder.php:100
Stack trace:
#0 /home/reorder/public_html/vendor/magento/framework/Reflection/NameFinder.php(59): Magento\Framework\Reflection\NameFinder->findAccessorMethodName(Object(Zend\Code\Reflection\ClassReflection), 'PickupStore', 'getPickupStore', 'isPickupStore')
#1 /home/reorder/public_html/vendor/magento/framework/Webapi/ServiceInputProcessor.php(158): Magento\Framework\Reflection\NameFinder->getGetterMethodName(Object(Zend\Code\Reflection\ClassReflection), 'PickupStore')
#2 /home/reorder/public_html/vendor/magento/framework/Webapi/ServiceInputProcessor.php(322): Magento\Framework\Webapi\ServiceInputProcessor->_createFromArray('\\Magento\\Checko...', Array)
#3 /home/reorder/public_html/vendor/magento/framework/Webapi/ServiceInputProcessor.php(175): Magento\Framework\Webapi\ServiceInputProcessor->convertValue(Array, '\\Magento\\Checko...')
#4 /home/reorder/public_html/vendor/magento/framework/Webapi/ServiceInputProcessor.php(322): Magento\Framework\Webapi\ServiceInputProcessor->_createFromArray('Magento\\Checkou...', Array)
#5 /home/reorder/public_html/vendor/magento/framework/Webapi/ServiceInputProcessor.php(119): Magento\Framework\Webapi\ServiceInputProcessor->convertValue(Array, 'Magento\\Checkou...')
#6 /home/reorder/public_html/vendor/magento/module-webapi/Controller/Rest/InputParamsResolver.php(101): Magento\Framework\Webapi\ServiceInputProcessor->process('Magento\\Checkou...', 'saveAddressInfo...', Array)
#7 /home/reorder/public_html/vendor/magento/module-webapi/Controller/Rest.php(299): Magento\Webapi\Controller\Rest\InputParamsResolver->resolve()
#8 /home/reorder/public_html/vendor/magento/module-webapi/Controller/Rest.php(216): Magento\Webapi\Controller\Rest->processApiRequest()
#9 /home/reorder/public_html/var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(37): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#10 /home/reorder/public_html/vendor/magento/framework/App/Http.php(135): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#11 /home/reorder/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#12 /home/reorder/public_html/routes.php(225): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#13 /home/reorder/public_html/wingstop/index.php(6): include('/home/reorder/p...')
#14 {main}

根据我收集到的信息,我应该尝试找到 extension_attributes.xml 并可能将其从那里删除?

如果是这样,我找不到它;这是我什至应该寻找的吗?任何帮助将不胜感激,因为用户现在无法在结帐时继续通过“运送选项”屏幕。

还有from this answer我有点担心删除我的世代文件夹中的所有文件夹。每当这个 Magento 2 实例生成新文件夹和文件/部署内容时,它似乎总是把事情搞砸。

【问题讨论】:

    标签: magento magento2


    【解决方案1】:

    1) 将商店置于维护模式

    bin/magento maintenance:enable
    

    2) 删除生成和DI内容

    rm -rf var/generation/*
    rm -rf var/di/*
    

    3) 使用编译器重新生成这些

    bin/magento setup:upgrade
    bin/magento setup:di:compile
    

    4) 禁用维护模式

    bin/magento maintenance:disable
    

    你说的总是把事情搞砸是什么意思?这可能是由于您的设置权限问题..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 1970-01-01
      • 2015-03-02
      • 2021-09-02
      • 1970-01-01
      相关资源
      最近更新 更多