Список кодов ошибок SOAP

#magento #soap #wsdl

#magento #soap #wsdl

Вопрос:

Я разрабатываю скрипт magento для импорта продуктов из XML-файла с использованием API и соединения SOAP wsdl.

Я хотел бы знать список кодов ошибок, я искал его несколько дней безрезультатно, кто-нибудь знает, есть ли он вообще и где я могу его найти?

Мне нужно обработать коды ошибок, чтобы избежать остановки кода, вместо того, чтобы просто пропускать ошибки и продолжать импортировать то, что правильно.

На данный момент я только что обнаружил, что код ошибки 101 — «Продукт не существует»..

Ответ №1:

Вот как получить список для вашей версии Magento. (Я не могу себе представить, что это будет радикально отличаться в разных версиях, но никто никогда не знает, что было сделано с системой)

Найдите все ваши api.xml файлы.

 $ find app/code/core -name 'api.xml'
app/code/core/Mage/Api/etc/api.xml
app/code/core/Mage/Catalog/etc/api.xml
app/code/core/Mage/CatalogInventory/etc/api.xml
app/code/core/Mage/Checkout/etc/api.xml
app/code/core/Mage/Core/etc/api.xml
app/code/core/Mage/Customer/etc/api.xml
app/code/core/Mage/Directory/etc/api.xml
app/code/core/Mage/Downloadable/etc/api.xml
app/code/core/Mage/GiftMessage/etc/api.xml
app/code/core/Mage/Sales/etc/api.xml
app/code/core/Mage/Tag/etc/api.xml
 

Каждый файл будет иметь один или несколько <faults/> узлов, которые будут содержать код и сообщение.

 <!-- File: app/code/core/Mage/CatalogInventory/etc/api.xml -->
<faults module="cataloginventory">
    <not_exists>
        <code>101</code>
        <message>Product not exists.</message>
    </not_exists>
    <not_updated>
        <code>102</code>
        <message>Product inventory not updated. Details in error message.</message>
    </not_updated>
</faults>
 

Вероятно, стоит упомянуть, что числовые коды не являются уникальными. Каждый «объект soap» (не уверен, как их назвать) определяет свой собственный.

 <!-- File: app/code/core/Mage/Sales/etc/api.xml -->
<faults module="sales">
    <not_exists>
        <code>100</code>
        <message>Requested order not exists.</message>
    </not_exists>
    <filters_invalid>
        <code>101</code>
        <message>Invalid filters given. Details in error message.</message>
    </filters_invalid>
 

Удачи вам!