salesforce integration

Salesforce to Salesforce Integration Using SOAP API

Introduction to SOAP API

  • SOAP API stands for Simple Object Access Protocol API  which supports XML only.
  • It can be used to create, update, delete, retrieve records in any language that supports web services.
  • It is used to maintain passwords, perform searches, retrieve metadata.

 WSDL

  • WSDL stands for Web Service Description Language.
  • SOAP API supports XML only because it uses the WSDL file as a formal Contract between  API and consumer.
  •  It is used to access Salesforce data and business logic handles multiple records in a single invocation.
  • It is XML - the document which is an  XML-document that is used for narrating the functionality offered by a Web Service.

dont miss out iconDon't forget to check out: 6 Ways to Make the Most Out of WordPress Salesforce Integration

SOAP-API also allows you to Salesforce provide two different SOAP API WSDLs (WSDL: Web service description language).

There are two  SOAP API WSDLs:

  1. Enterprise WSDL
  2. Partner WSDL

 Enterprise WSDL(Web service description language)

  • Enterprise WSDL is a strongly typed WSDL for customers 
  • It Changes if modifications are made to an Organization Salesforce Configuration.
  • It is primarily for Customers.

Partner WSDL(Web service description language)

  • Partner WSDL is a loosely typed WSDL for customers 
  • It is used for any Configuration of Salesforce
  • Static and does not change if modification is made to an organization  Salesforce Configuration 
  • It is Primarily for partners

Steps to download the WSDL:

  • Click Setup
  • Type API in Quick find/search
  • Click API and Click Generate Partner  WSDL
  • Download WSDL

Step 1: Expose Webservice as a SOAP API.

global class FetchAccount1
{
    webservice static Account createAccount(String Name) {
        Account acct = new Account();
        acct.Name = Name;   
        insert acct;
    }
}

Above code insert account and will return the inserted account.

Considerations for Using the webservice Keyword
  • We can’t use the webservice keyword to define a class or an inner class method, interface, or to define an interface's methods and variables.
  • We can use to define top-level methods and outer class method 

dont miss out iconCheck out another amazing blog by Kirandeep here: What is Wrapper Class in Salesforce - Everything you Need to Know

Step 2: Generate Partner WSDL

Step to generate Partner WSDL

  • Click Setup
  • Type API in Quick find/search
  • Click API and Click Generate Partner WSDL
  • Download WSDL

Step 3: Convert partner WSDL into Apex class

In the source Org Convert  Partner WSDL into Apex Class 

Steps:-

  • Click setup and type apex classes in Quick search/find 
  • Click generate Apex from WSDL and select the saved partner WSDL 

Let us see how to consume webservice through soap API.

string username =' ';  //Target Org username
string password =' ';    //Target Org Password
partnerSoapSforceCom.soap sp = new  partnerSoapSforceCom.soap ();
partnerSoapSforceCom.LoginResult lg = sp.login(username,password);
AccountCreateWIthSoap.AccWebService apexweb = new AccountCreateWIthSoap.AccWebService();
AccountCreateWIthSoap.SessionHeader_element sessionHeader = new AccountCreateWIthSoap.SessionHeader_element();
sessionHeader.sessionId = lg.sessionId;
apexweb.timeout_x =120000;
apexweb.sessionHeader =sessionHeader;
string response = apexweb.createAccount('Anuj');
system.debug(response);

The above code will create the account in the target Salesforce Org.

Popular Salesforce Blogs

AI in Salesforce

Transform businesses with the power of Artificial Intelligence leveraged through Salesforce Einstein

Blog in

Artificial Intelligence is powering next-generation customer experiences with smart predictions, intelligent recommendations, timely automation and much more. Gartner predicts that by 2020, a staggering 85% of…