5

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?

  • To explain this better let us take an example. SFDC is sending an outbound message to another system (EX1) whenever an opportunity is modified in SFDC (e.g. field1). Now this message (contains four fields) is picked by other system (EX1) and do some update in EX1 and then using SOAP API (Partner wsdl is given to the client) update the opportunity in SFDC. Now let us say one more field is added to opportunity object and then this field is also added to the outbound message (now a total of five fields). What changes should EX1 should do in their end to accommodate the new field? – Abi Apr 22 '15 at 11:14
  • Also what steps should be taken from Salesforce side? Do we need to provide the partner wsdl again? If not how would the EX1 knows that a new field is added to the org and the integration? – Abi Apr 22 '15 at 11:14
5

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.

| improve this answer | |
  • 2
    I'd second using describeSObjects in the Partner API to determine if the new field is present or not. This makes deploying the new field to production much easier. I.e. allow the custom to deploy the update first then update Salesforce with the new field. – Daniel Ballinger Apr 23 '15 at 21:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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