3

I've gone through documents and came across few points and i couldn't understand those. Can anyone please explain with real time scenarios

1) Soap is widely used whenever we have bulk data or whenever we receive bulk data in response. I couldn't understand about bulk data. Can anyone please provide sample code of how bulk data insert or update?

2)In soap integration we use WSDL. I know how to generate and parse WSDL from/to salesforce and i know how to integrate salesforce to salesforce. But i would like to know about salesforce to another application like SAP or data sequel server. How do they generate WSDL of web service from SAP or any other application.

3) Do other applications also have enterprise WSDL and Partner WSDL?

3

I'll try to help summarize this quickly for you. Salesforce doesn't use the latest version of the SOAP standard. SOAP is a dying protocol. It's generally slower than REST, but has been around for a very long time. You use SOAP whenever you're trying to connect with an Oracle based database which already has a SOAP based interface configured for it.

"Bulk Data" is data stored in a database. Transferring "bulk data", means "more than one record at a time". This is not to be confused with the Salesforce Bulk API.

A WSDL (Web Services Definition Language) is an xml file that's very similar to a CSS or metadata file. It has opening and closing tags for each data type in a database. It can be expanded to form a "tree". You could describe it as a "mapping" of all the data types in your database. Another Oracle based database will be able to generate a WSDL that describes itself. An organization that uses SOAP will be able to provide a WSDL to you which you'll need to parse in order to connect with their database.

I wouldn't necessarily expect other applications to have an Enterprise and a Partner WSDL like Salesforce does, but they very well could have. It would entirely depend on the organization and what they were exposing for you to connect with.

As for code, that would be entirely dependent on what you were trying to do and isn't especially relevant to the questions you're asking. If you look in the SOAP Developer's Guide, you should find some examples in the Quick Start and in other sections as well.

Edited to add, you may find it helpful to go through the following two Trailhead modules: Apex Integration Services and API Basics, both of which cover SOAP. The first includes code examples and has exercises covering Apex callouts to perform data transfers when integrating using the SOAP API.

1

Not a direct answer to your questions, but some perspective...

SOAP is a technology that relies on code generation tooling because it uses complex specifications such as XML Schema and WSDL. Relatively few people understand those well and so most people rely on the tooling doing a good job. When invoking a SOAP interface defined by another application, the Apex tooling (WSDL2Apex) may not work - see the "Supported WSDL Features" section of Apex Web Services and Callouts.

Many products (Salesforce included) now also offer JSON-based interfaces. No special tooling - beyond HTTP support and JSON parsing - is required. If you are interfacing with another application and it offers both SOAP and JSON interfaces, I would personally favour the JSON one because any problems that come up can be coded around. Also JSON interfaces can have a cleaner design because they are created and documented by a person: SOAP interfaces are often the result of running some tools on existing classes not necessarily designed originally as a public interface.

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.