Matteo
Matteo

Reputation: 1209

SOAP faultcode list

I'm developing a magento script to import products from a XML file using the API and a SOAP wsdl connection.

I would like to know the faultcode list, I've been searching it for several days without luck, anyone know if there is one at all and where I can find it?

I need to handle the error codes to avoid the code to stop instead of just skipping the errors and continue importing what is correct.

At the moment I just discovered that the faultcode 101 is "Product not exists.".

Upvotes: 3

Views: 4262

Answers (1)

Alana Storm
Alana Storm

Reputation: 166046

Here's how to grab the list for your version of Magento. (I can't imagine this would be radically different between versions, but one never knows what's been done to a system)

Find all your api.xml files.

$ 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

Each file will have one or many <faults/> nodes which will contain the code and message.

<!-- 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>

It's probably worth mentioning that the numeric codes aren't unique. Each "soap object" (unsure what to call these) defines its own.

<!-- 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>

Good luck!

Upvotes: 6

Related Questions