Skip to content

Instantly share code, notes, and snippets.

@SamJUK
Created September 9, 2025 13:26
Show Gist options
  • Select an option

  • Save SamJUK/094d8a9ad69a3d265e1d336285a1e1e7 to your computer and use it in GitHub Desktop.

Select an option

Save SamJUK/094d8a9ad69a3d265e1d336285a1e1e7 to your computer and use it in GitHub Desktop.

Revisions

  1. SamJUK created this gist Sep 9, 2025.
    18 changes: 18 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    diff --git a/vendor/magento/framework/Webapi/ServiceInputProcessor.php b/vendor/magento/framework/Webapi/ServiceInputProcessor.php
    index ba58dc2bc7acf..06919af36d2eb 100644
    --- a/vendor/magento/framework/Webapi/ServiceInputProcessor.php
    +++ b/vendor/magento/framework/Webapi/ServiceInputProcessor.php
    @@ -246,6 +246,13 @@ private function getConstructorData(string $className, array $data): array
    if (isset($data[$parameter->getName()])) {
    $parameterType = $this->typeProcessor->getParamType($parameter);

    + // Allow only simple types or Api Data Objects
    + if (!($this->typeProcessor->isTypeSimple($parameterType)
    + || preg_match('~\\\\?\w+\\\\\w+\\\\Api\\\\Data\\\\~', $parameterType) === 1
    + )) {
    + continue;
    + }
    +
    try {
    $res[$parameter->getName()] = $this->convertValue($data[$parameter->getName()], $parameterType);
    } catch (\ReflectionException $e) {