[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
ACSD-62965:修复了GraphQL订单放置响应中缺少LocalizedException消息的问题
ACSD-62965修补程序修复了在下单过程中GraphQL响应中未包含LocalizedException消息的问题。 此修补程序在Quality Patches Tool (QPT) 1.1.57中可用。修补程序ID为ACSD-62965。 请注意,该问题计划在Adobe Commerce 2.4.8中修复。
受影响的产品和版本
为Adobe Commerce版本创建了修补程序:
Adobe Commerce(所有部署方法) 2.4.7
与Adobe Commerce版本兼容:
Adobe Commerce(所有部署方法) 2.4.7 - 2.4.7-p3
magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。问题
GraphQL订单响应不包含LocalizedException消息,导致调试的错误详细信息不足。
重现步骤:
-
安装干净的 Adobe Commerce 实例。
-
将产品添加到购物车并继续执行订单下达步骤。
-
在
LocalizedException中将Magento\Framework\Exception\LocalizedException添加到app/code/Magento/QuoteGraphQl/Model/Resolver/PlaceOrder.php。 -
在以下行后插入例外:
code language-none $cart = $this->getCartForCheckout->execute($maskedCartId, $userId, $storeId);添加例外:
code language-none throw new LocalizedException(new Phrase("Test LocalizedException")); -
执行下单GraphQL请求:
code language-none mutation { placeOrder(input: {cart_id: "cart_id"}) { order { order_number } } } -
观察响应:
-
响应不包含
LocalizedException消息。 -
错误响应的示例:
code language-none { "data": { "placeOrder": { "order": null } } }
-
预期的结果:
如果发生LocalizedException,则应将异常消息包含在订单放置GraphQL响应中,以改进错误处理。
实际结果:
如果发生LocalizedException,则订单安排GraphQL响应中不包含异常消息。
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- Adobe Commerce或Magento Open Source内部部署: Quality Patches Tool 指南中的>使用情况Quality Patches Tool。
- 云基础架构上的Adobe Commerce:云基础架构上的Commerce指南中的升级和修补程序>应用修补程序。
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅: