SOAP
XML
Standards based
WSDL (a package to define all the methods) needs to be downloaded and saved to the server
System to system
State maintained
Built in security
OAuth or Session ID (OLD)
Can build Custom SOAP Web Services
Standard Salesforce WSDL
SOA (Service Oriented Architecture) Callout (eg bring data into external systems)
Synchronous
Enterprise WSDL
Strongly Typed
For a specific org - has all of the customisations in that org
Changes if the org changes (eg custom fields added)
Partner WSDL
Loosely typed
Can be used against any org (eg used by partners)
Static - only changes based on API version?
REST
XML or JSON
REST has in-built discovery of the available methods / endpoints
Lightweight
Security usually via OAuth
Old via Session ID
Standard Salesforce endpoints on every object
Web service implementations
Expose your own APEX classes as REST Endpoints
GET POST DELETE PATCH PUSH
Bulk API uses REST See https://tddprojects.atlassian.net/wiki/pages/createpage.action?spaceKey=SF&title=Salesforce%20APIs&linkCreation=true&fromPageId=1310556166
Synchronous vs Asynchronous
Sync
Eg a transaction
Wait for a reply
Within the Salesforce limits
Async
Check back later if it’s done
Security
One way SSL is enabled by default.
Two way SSL needs self-signed or CA-signed certificates
TLS
You upload your certificate to Salesforce
You can download salesforce client certificate to authenticate on your web server.
Add Comment