When running this, I only get an "HTTP ERROR 500" page. As I've seen in other solutions I've added the 'index.php' before the /api section. I've also enabled WSI-Compliance mode as I've seen suggested.

    $proxy = new SoapClient('http://stagingsite.club/index.php/api/v2_soap/?wsdl');
    $sessionId = $proxy->login('inventory', 'password');

    $result = $proxy->catalogCategoryTree($sessionId);

This is how Magento documentation lists the path

$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');

I'd like to point out that on my web server, I do not have a similar path. I'm confused in that I don't completely understand the concept of WSDL. Is the WSDL file created, or is it an actual file that I need to find in my directory? I've ensured that SOAP is enabled.

Directory Tree

1 Answer 1


Hey I'm using the SOAP api in one of our products and the url I use to get the wsdl is example.com/api/v2_soap?wsdl=1.

I was pretty new to SOAP api when I started using Magento's so I share some of the stuff I learned:

  • the wsdl is kinda like a sitemap for all the methods and parameters that the service offers hence the name 'Web Services Description Language'

  • It is not something that you need to create. Since the SOAP functionality is packaged with Magento, so is it's wsdl

  • Download a tool to help you work with SOAP api's. I personally use SoapUI. It will let you enter the url path to the wsdl and will create example requests for each method showing the optional and required params. This helped me a lot when starting with SOAP api's.

Let me know if you have any more questions

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.