[僅限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

NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

訂單放置的GraphQL回應未包含LocalizedException訊息,導致偵錯所需的錯誤詳細資料不足。

要再現的步驟

  1. 安裝乾淨的​ Adobe Commerce ​執行個體。

  2. 將產品新增到購物車並繼續訂單放置步驟。

  3. LocalizedException中新增Magento\Framework\Exception\LocalizedExceptionapp/code/Magento/QuoteGraphQl/Model/Resolver/PlaceOrder.php

  4. 在下列行之後插入例外:

    code language-none
    $cart = $this->getCartForCheckout->execute($maskedCartId, $userId, $storeId);
    

    新增例外:

    code language-none
    throw new LocalizedException(new Phrase("Test LocalizedException"));
    
  5. 執行下單GraphQL請求:

    code language-none
    mutation {
    placeOrder(input: {cart_id: "cart_id"}) {
        order {
        order_number
        }
    }
    }
    
  6. 觀察回應:

    1. 回應不包含LocalizedException訊息。

    2. 不正確回應的範例:

      code language-none
      {
      "data": {
          "placeOrder": {
          "order": null
          }
      }
      }
      

預期結果

如果發生LocalizedException,則應將例外狀況訊息包含在訂單位置GraphQL回應中,以改善錯誤處理。

實際結果

如果發生LocalizedException,訂單位置GraphQL回應中不會包含例外狀況訊息。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3