Adobe Commerce的Magento Order Management系統(OMS)處理錯誤

本文提供當您在適用於Adobe Commerce的Magento Order Management系統(OMS)中執行bin/magento oms:messages:process的CLI中發生getMode()錯誤時,此問題的解決方案。

受影響的產品和版本

使用MCOM聯結器3.1.1和3.2.0版時,會發生此錯誤。這個問題會在MCOM Connector 3.3.0中解決。它不是MDC或MOM版本專屬的。

問題

在CLI中執行下列命令時:

bin/magento oms:messages:process

CLI中會輸出類似下列的錯誤訊息:

<project-id>@<project-id>:~$ php bin/magento oms:messages:process

Processing messages...

PHP Fatal error:Uncaught Error: Call to a member function getMode()
on null in /app/<project-id>/vendor/magento/module-inventory-message-bus/Handler/OnAggregateStockUpdatedSubscriber.php:64

Stack trace:

  #0 [internal function]: Magento\InventoryMessageBus\Handler\OnAggregateStockUpdatedSubscriber->onUpdated(Object(Magento\InventoryMessageBus\Model\Event\OnAggregateStockUpdated))

  #1 /app/<project-id>/vendor/magento/module-service-bus/Message/SingleMessageProcessor.php(81):
  call_user_func(Array, Object(Magento\InventoryMessageBus\Model\Event\OnAggregateStockUpdated))

  #2 [internal function]: Magento\ServiceBus\Message\SingleMessageProcessor->Magento\ServiceBus\Message\\{closure}(Array)

  #3 /app/<project-id>/vendor/magento/module-service-bus/Message/SingleMessageProcessor.php(86):
  array_map(Object(Closure), Array)

  #4 /app/<project-id>/vendor/magento/module-service-bus/Message/Processor.php(110):
  Magento\ServiceBus\Message\SingleMessageProcessor->process(Object(Magento\CommonMessageBus\Message\Message))

  #5 /app/t in /app/<project-id>/vendor/magento/module-inventory-message-bus/Handler/OnAggregateStockUpdatedSubscriber.php
  on line 64

原因

Ï
當聯結器嘗試處理magento.inventory.source_management封郵件時,就會發生這種情況。 聯結器會嘗試處理這些訊息,就像它們是magento.inventory.source_stock_management.update訊息一樣,但需要模式值。 因為magento.inventory.source_mangement訊息中沒有模式,所以發生錯誤。

解決方案

若要解決此問題,請在CLI中執行下列SQL陳述式,該陳述式會刪除mcom_api_messages資料表中的所有記錄:

delete from mcom_api_messages;

相關閱讀

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a