Dev, Test and Debug Salesforce Web Services with soapUI

soapui-logoIf you are doing any type of work with one of the Salesforce web services APIs (enterprise, partner, metadata, etc.), soapUI is an invaluable tool. It's a feature-rich, Java Swing application that runs on your desktop that allows you to inspect, invoke, simulate and test web services.

Eviware offers a free version and a commercial version with all of the bells and whistles for $349 per year. You can integrate the soapUI classes in your own Java applications, run it from the command-line or use it in one of your favorite IDEs (Eclipse, NetBeans or IntelliJ IDEA).

Using soapUI with Salesforce web services is fairly straightforward. Download the WSDL for your favorite web service and create a new soapUI project referencing that WSDL. SoapUI will load all of the methods in the left panel and provide sample requests for each service. You can then run each method against your target org. I typically create test suites of multiple calls (e.g., login, retrieve records, update records and logout) to test my processes.

soapUI

Some of the main features of the free and commercial versions of soapUI include:

  • Inspect WSDL and REST web services - includes schema and table inspectors, form output editor, SOAP monitor, JSON viewer and HTML generator for documentation.
  • WSDL and REST service invocation - automatically generate requests from associated schemas for multiple endpoints.
  • Development and validation - generates server and client code for some of the most popular Web Service toolkits including JBossWS, JWSDP (JAX-WS/JAX-RPC), Axis 1, Axis 2, CXF, XFire, Oracle, .NET and GSoap.
  • Load testing - stress test your services and export results, statistics, logs, diagram data, etc. for external processing.
  • Simulate web service calls - During your development process you can create mock services and run your processes against them.