Enterprise WSDL
- Strongly typed, the object and its attributes are fixed.
- Contains the metadata about all standard and custom fields and objects.
- Can only be used against your Salesforce instance.
Partner WSDL
- Is loosely typed, the object and its attributes can be variable.
- Does not contain metadata about objects and fields. Takes an array of key-value pairs.
- Can be used against many Salesforce.com organizations.
- Partner WSDL is more flexibile than enterprise WSDL. Methods use sObject superclass rather than specific classes. Application handles fields as arrays of name-value pairs.
Enterprise WSDL Example:
Position__c p = new Position__c();
p.setName("Test");
Partner WSDL Example:
sObject p = new sObject();
p.setType("Position__c");
p.setField("Name", "Test");