[SalesForce] Enterprise wsdl vs partner wsdl

I understand that enterprise wsdl is a strongly typed wsdl and is tied to a specific configuration of Salesforce. So the Enterprise WSDL changes if modifications (e.g custom fields or custom objects) are made to an organization's Salesforce configuration. Similarly i also know that a Partner WSDL is loosely typed wsdl and is static, and hence does not change if modifications are made to an organization's Salesforce configuration.

My question is:
– If we hand over the partner wsdl to the customer and then add a field on an object (e.g. on opportunity object) and include that into the integration then do we need to generate the partner wsdl again and give it to the customer?

Best Answer

You do not need to generate the partner WSDL again as it will not have changed.

But if the customer has hard coded the set of field names in their logic your new field will not be handled. That may be OK.

If you need them to handle the new field in some specific way you will have to let them know so they can change their code. Or if the fields are handled in a generic way (no unique logic), you should advise your customer to write their code based on the fields that are discovered through the describeSObjects partner API call so that the code automatically works for new fields.

Related Topic