I need to generate a enterprise wsdl for a project I am currently working on. However, the salesforce account I have access to is an api login only meaning that while I can retrieve data from it through programs such as Python or streamsets, I can not actually log in to salesforce. This creates a problem as I can't do the usual method recommended by salesforce to generate and download a wsdl by going into setup and searching for api. Is there a way I can download the wsdl through python, linux, or some other language?

Edit: We were given the url of the wsdl if that makes things easier to figure out.

  • 2
    You should ask your system admin to provide it. API only login exists for a reason so that 3rd party cant access SF and alter/view things which they are not supposed to do/view. If SF allows that, it would be a security bug that needs to fixed. May 18, 2018 at 17:36
  • We were given the api only login and the url for it when we requested read access to the wsdl so I assume that they meant for us to be able to just generate a new one in case there were any changes made to it without having to bother them each time.
    – tclaw46
    May 18, 2018 at 18:46
  • 1
    If your application is dynamic nd forever changing then using enterprise wsdl doesn't make sense. Whenever they add new field etc your api will break. You should go to something which is loosely typed (coupled). Partner wsdl i would recommend. May 18, 2018 at 18:48
  • That makes sense. I will ask them if they can provide me a copy of the wsdl. Thank you for your help.
    – tclaw46
    May 18, 2018 at 19:33

1 Answer 1


Unless you specifically need it I'd avoid the Enterprise WSDL and use the Partner WSDL instead.

While the Enterprise WSDL is strongly typed, it is also by definition bound to the exact schema present in the org. So any changes they make to the metadata have the potential to invalidate the WSDL.

The Partner API in contrast is loosely typed. This can make slightly more work for you, but it will adapt to metadata changes as they occur. Because the Partner API adapts to the org it is currently connected to you don't need to pull it down from any specific org. You could get it from another org that is one the same major release (or earlier) and it will adapt as needed.

  • Thank you for your response. I managed to get a copy of the enterprise wsdl from my admin. It does look like it has to be a enterprise wsdl.
    – tclaw46
    May 21, 2018 at 17:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .