Вызов API Magento из .Net и ошибка «HTTP-служба, расположенная в XYZ, слишком занята» - PullRequest
0 голосов
/ 02 марта 2011

В настоящее время я работаю над интеграцией приложения .Net и Magento v 1.3.2.4.Приложение .Net имеет служебную ссылку на Magento API и в большинстве случаев работает нормально.Если я пытаюсь получить список всех заказов, я получаю следующее исключение:

"Служба HTTP, расположенная по адресу MAGENTO API , слишком занята."

Если яустановите фильтр pageSize и ограничьте запрос до 500 записей, он отлично работает.Может ли быть так, что запрос / ответ слишком велик и необходимо обновить конфигурацию сервера / клиента?Мой конфиг справочной службы вставлен ниже.Я не уверен, где искать сторону PHP / Magento, чтобы проверить конфигурацию веб-сервисов, и я не нашел на экранах администрирования Magento ничего такого, что могло бы помочь.

У кого-нибудь естьсовет, с чего начать устранение неисправностей это?

<basicHttpBinding>
<binding name="Mage_Api_Model_Server_V2_HandlerBinding" closeTimeout="00:01:00"
    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
    maxBufferSize="524288" maxBufferPoolSize="524288" maxReceivedMessageSize="524288"
    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
    useDefaultWebProxy="true">
    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <security mode="None">
    <transport clientCredentialType="None" proxyCredentialType="None"
        realm="" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
    </security>
</binding>
</basicHttpBinding>

<endpoint address="http://MagentoService.com/store/index.php/api/v2_soap/index/"
binding="basicHttpBinding" bindingConfiguration="Mage_Api_Model_Server_V2_HandlerBinding"
contract="MagentoService.Mage_Api_Model_Server_V2_HandlerPortType"
name="Mage_Api_Model_Server_V2_HandlerPort" />

1 Ответ

1 голос
/ 02 марта 2011

Если у вас много заказов, вы не сможете вытащить их все без нехватки памяти. Вам, вероятно, придется разбить его и сделать это кусками по 500, так как это число сработало для вас.

Вы можете попробовать увеличить настройки PHP в memory_limit и max_execution_time, но вам не следует пытаться извлекать их все сразу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...