I have a Java desktop app that has the ability to link directly with Magento 2. I migrated a client from Magento to Magento 2.1 then upgraded them from that to 2.2.8. Afterwards, I performed a delta migration to bring the changes from M1 to M2.

I am currently unable to create products through the REST API as I get the following stack trace in my logs. I don't get these on the server and get them through my local Java logs.

Error Response Message: ErrorResponse{message='Cannot save product.', errors=null, code=null, parameters=null, trace='#0 [internal function]: Magento\Catalog\Model\Product\Gallery\GalleryManagement->create('2296', Object(Magento\Catalog\Model\Product\Gallery\Entry))
#1 /html/vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array(Array, Array)
#2 /html/vendor/magento/module-webapi/Controller/Rest.php(244): Magento\Webapi\Controller\Rest\SynchronousRequestProcessor->process(Object(Magento\Framework\Webapi\Rest\Request\Proxy))
#3 /html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#4 /html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent('dispatch', Array)
#5 /html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#6 /html/generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(39): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins('dispatch', Array, Array)
#7 /html/vendor/magento/framework/App/Http.php(136): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#8 /html/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()
#9 /html/vendor/magento/framework/App/Bootstrap.php(257): Magento\Framework\App\Http\Interceptor->launch()
#10 /html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#11 {main}'}

I looked up the issue and found that if the media_gallery attribute in eav_attribute is set to varchar instead of static, this can possibly happen. I changed the attribute to static and flushed my caches. But there was no change. I'm not entirely sure where the main differences are between this database with migrated M1 data and a fresh Magento 2.2.8 install. It does work on a fresh install so I'm fairly confident it's a database schema issue, but I'm not 100 percent on that.

1 Answer 1


Solved this one on my own thankfully. I was able to trace this back to an errant theme in the theme table tied to one that must have been manually deleted. Removed it and product images were able to be saved properly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.