How to Consume a SOAP API in 2026

Published 2026-02-02 · 7 min read
SOAP is not dead — it is the backbone of half the world's banking, insurance and government integrations. If you have ever ducked a SOAP requirement, this is the gentle on-ramp you needed.

The shape of a SOAP request

A SOAP call is just an HTTP POST with an XML body wrapped in an Envelope:

POST /soap HTTP/1.1
Content-Type: text/xml; charset=utf-8

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:tns="http://demo.totalshiftleft.ai/soap">
  <soapenv:Body>
    <tns:GetUser><tns:id>1</tns:id></tns:GetUser>
  </soapenv:Body>
</soapenv:Envelope>

That's the whole protocol. Header is optional, Body is required.

The WSDL — your contract

WSDL describes every operation, every type. Get it from any SOAP service with ?wsdl:

curl https://demo.totalshiftleft.ai/soap?wsdl

The WSDL replaces "API documentation" — your tooling reads it and generates a typed client.

SoapUI in 60 seconds

  1. SoapUI → File → New SOAP Project
  2. Paste https://demo.totalshiftleft.ai/soap?wsdl
  3. Every operation appears in the tree with a sample envelope ready to send

Generate a Java client

wsimport -keep -p com.example.demo \
  https://demo.totalshiftleft.ai/soap?wsdl

# Then:
DemoService svc = new DemoService();
DemoPort port = svc.getDemoPort();
User u = port.getUser(1);
System.out.println(u.getName());

Generate a .NET client

dotnet svcutil https://demo.totalshiftleft.ai/soap?wsdl
# or in older projects: svcutil /target:code /out:Demo.cs ...

Python with zeep

from zeep import Client
client = Client('https://demo.totalshiftleft.ai/soap?wsdl')
user = client.service.GetUser(id=1)
print(user.name)

Three lines. zeep handles every envelope, every namespace, every type coercion.

SOAP vs REST in 2026

ConcernSOAPREST
ContractWSDL (machine-checked)OpenAPI (similar, by convention)
PayloadXML (verbose)JSON (compact)
ToolingSoapUI, wsimport, svcutil, zeepPostman, fetch, requests
Where it shinesBanking, insurance, B2B, legacyWeb, mobile, public APIs

Practice for free

Use the free public SOAP API — 14 operations across users, products and orders, no signup, plus the same data over REST and GraphQL so you can compare protocol on the wire.

Frequently asked questions

Is SOAP really still relevant?

In banking, insurance, healthcare and government — yes. Most large enterprise integration suites still expose SOAP first.

Can I call SOAP from Postman?

Yes. Set Content-Type to text/xml, paste the envelope as the raw body, and POST.

Other free public APIs in this sandbox

Ready to try it?

Open the live sandbox — REST, GraphQL, SOAP and auth in one place. No signup, no API key.

Open the API Sandbox →

Topics: how to consume a SOAP API · SOAP API tutorial 2026 · WSDL import · SoapUI tutorial · SOAP in Java / .NET / Python