Step-By-Step Guide to Get Started with Salesforce SOAP API using Java

Use Salesforce SOAP API with Java

How do you connect to Salesforce from an external application, say, for example, Java? If you Google for the information, you will quickly learn that Salesforce provides different methods and different APIs. But what you will probably not find is a step-by-step guide teaching you exactly how to do it. In this blog post, I have stitched together a complete step-by-step instructions with screenshots on how to download, install, configure and use Salesforce’s SOAP API to connect from a java program and execute some basic transactions (query, insert, update, delete records). In less than 60 minutes, you will have a fully functional java program that will connect to Salesforce and execute transactions in Salesforce.

The guide includes downloading necessary WSDLs from Salesforce, creating & packaging the required components in a JAR file, referencing the JAR file in your java program, logging on to Salesforce from the java program, querying and manipulating data. Here is an overview of steps that need to be completed and is covered in the guide

  • Install Java
  • Install Eclipse
  • Install WSC (Web Services Connector)
  • Install Maven
  • Generate JAR Files
  • Download WSDL Files From Salesforce
  • Generate Java Stub File
  • Create Java Program
  • Execute Transactions using SOAP API

(Once you are done with this, you may also want to explore my other blog post Step-By-Step Guide to Get Started with Salesforce REST API using Java to learn how to get started with Salesforce REST API using Java or explore A 60 Minutes Step-By-Step DIY Guide to Salesforce REST API for Non-Developers to get started with REST API without going through the hassles of writing a Java program)

Even if you are not a developer, you should be able to follow the guide and have working java program at the end of it.  Sounds interesting? Download the following presentation and let’s get started…

Not an “All Access” Pass Member Yet?

Get Download Access to this & 150+ More Step-by-Step Guides with “All Access” Pass. A simple and single plan to access our entire library of courses, guides, workshops & masterclasses on Salesforce.

Introducing Mastering Salesforce APIs Training Course

Liked this post? We are now offering a complete self-paced, video-based training course on Mastering Salesforce APIs. The course comes with downloadable step-by-step PDF guides, unlimited access, free upgrades, community discussion area, free preview and more. For more details, please click here.

Here is the URL to get the code used in this guide

  1. Java program to connect to test connecting to Salesforce 
  2. Java program to query, create, update & delete records in Salesforce

In these codes, I have used simple SOAP API calls like query(), create(), update() & delete() to give you a taste of how to use APIs. For complete reference on Salesforce SOAP API listing all calls, objects, fields and other details please refer to SOAP API Developer’s Guide

Not only this, you can go a step further and use other SOAP/WSDL based APIs that Salesforce provides to extract and manipulate data and metadata. For a list of different APIs along with a brief explanation on which API should be used when, please navigate to URL

References & Useful URLs

  1. Setting Up Your Java Developer Environment –
  2. Introduction to the Web Services Connector –

26 thoughts on “Step-By-Step Guide to Get Started with Salesforce SOAP API using Java”

  1. Hi Mr. Agarwal,

    Thank you for taking the time to provide this guide!

    I am trying to follow this and got stuck in generating the jar files from the cmd: java -classpath ….

    Can you pls help me out?

    1. Hi Manjunath, it will be quite difficult to help you without having access to the system and looking at exact error messages. Sorry, but I won’t be able to help you here.

  2. Rajesh Natarajan

    Jar Problem fix that I encountered
    When compiling the enterprise.jar the maven was failing and not building the jar.
    Had to explicitly add skiptests tag


  3. In the original article “Introduction to the Web Services Connector”, everything works just fine code-wise, except that the WCS Metadata API Java code sample generates two syntax errors …

    Line 54: AsyncResult[] ars = metadataConnection.create(new CustomObject[] { co });
    – The method create(CustomObject[]) is undefined for the type MetadataConnection

    Line 72: arsStatus = metadataConnection.checkStatus(ids);
    – The method checkStatus(String[]) is undefined for the type MetadataConnection

    This occurs using the “force-wsc-38.0.0-uber.jar” jar file. Can you kindly tell me what I need to do to fix these errors? Cheers,


  4. @Nagendra Nagarajayya – the code is missing some hard returns. For the update() and delete() functions, the first several lines of each function are on the same line as the commented-out explanation of what the function does. This causes those lines to appear commented out to Eclipse. If you put in some hard returns where the functions start, you should be able to save without errors.

    I did have one question – when I save the Java class and attempt to run it, I receive an error: “Selection does not contain a main type.” Did anyone receive this error and manage to resolve it? Thank you!

  5. Vishal Bhandare

    Unable to generate TARGET folder on Windows 7 64 bit machine. Got stuck on step no. 5. Please help.

  6. Nagendra Nagarajayya

    Very nice article; very useful. Allowed me to get started with salesforce apis very easily.

    I did find a problem, not sure if it is specific to me (tried on firefox and chrome) ; the second example query/create/insert/delete code seems to be truncated and the last line is 151, it should have more lines as the insert/delete methods are missing.

  7. Thanks! This was easy to follow and I feel like I learned something! My next challenge is to have Salesforce call my SOAP API to trigger an action and response…

  8. Excellent article! Again, much better than the salesforce documentation. Thank you very much for taking the time to prepare such good content!

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
Introducing All Access Pass