/ / Magento SOAP v1 срещу v2 изпълнение - изпълнение, api, magento, сапун

Magento SOAP v1 срещу v2 изпълнение - изпълнение, api, magento, сапун

Аз съм в процес на използване на VB.NET за работа с API на Magento. Използвах SOAP v1 успешно, докато не срещнах обаждане, което се нуждае от асоциативен масив. След един ден или не на късмет реших да опитам v2, който има всички предмети, от които се нуждая. v2 работи, но е много, много бавен. За да се актуализира инвентаризацията на една стока, отнемаха около минута и половина, за да влезете и да направите актуализацията, за разлика от може би по-малко от 10 секунди с v1. Това ми напомни защо избрах v1 на първо място.

Въпросът ми е дали все пак трябва да се подобриизпълнение на v2. Не мога да си представя, че имам нужда от нея, но мислех, че ще попитам. Вече има активирано кеширане. Алтернативата да се получи v1 за приемане на асоциативен масив изглежда е предизвикателство, ако е възможно.

Отговори:

22 за отговор № 1

Има много причини, поради които искането на WSDL може да отнеме много време, но първото нещо, което проверя, са настройките за WSDL кеш. Когато правите API извикване в Magento, Magento използва PHP SoapServer обект. Най- SoapServer обектът трябва да извлече собствения си WSDL файл, за да работи, а генерирането и извличането на този файл може да бъде времеемко нещо.

Отидете

System -> Configuration -> Magento Core API -> General Settings

и потърсете "Enable WSDL Cache". Задайте това да и ще видите подобрение на производителността на API.

Тази настройка може да не съществува във вашата версия на Magento - ако това е така, може да се интересувате от API на живак разширение (създадено и продадено от мен) с подобрения на API, които включват тази функционалност за по-стари версии на Magento. Ако нямате бюджет за разширение, Mage_Api_Model_Server_Adapter_Soap е класът, в който по-старите версии на Magento деактивират този кеш.