Search code examples
magentomagento-soap-api

magento soap api v2 catalogProductInfo "product not exists" error


I've run in to the somewhat famous "product not exists" error when trying to get product information from magento using the v2 API. However, none of the usual remedies seem to work. For instance, I checked this thread: magento soap api v2 catalogProductInfo not working

Here is my request data:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
    <ns1:catalogProductInfo>
      <sessionId xsi:type="xsd:string">291b294f0a5ec652069dfbd2ba1f42a3</sessionId>
      <productId xsi:type="xsd:string">917</productId>
    </ns1:catalogProductInfo>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Here's what I've tried so far:

  • Verified and regenereted the session id
  • Full access for user
  • Multiple product ID's (verified to exist, both in admin and using catalogProductList)
  • Using both ID and SKU
  • SKU's with a space behind it
  • Adding <storeView> parameter
  • Adding <productIdentifierType> parameter
  • Combinations of the above

What's next?


Solution

  • I found a solution: it turns out that the magento documentation on http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.info.html is wrong. The parameter "productId" is actually called "product". So my working code is:

    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <SOAP-ENV:Body>
        <ns1:catalogProductInfo>
          <sessionId xsi:type="xsd:string">291b294f0a5ec652069dfbd2ba1f42a3</sessionId>
          <product xsi:type="xsd:string">917</product>
        </ns1:catalogProductInfo>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    Where do I report errors in the documentation?