devark.cloud
Open Source · Engineering Proof of Work

soapix — a Python client for SOAP services that don't follow the rules

Built and maintained by devark.cloud for the messy WSDLs, loose validation, and cryptic errors real enterprise SOAP services throw at you — with async support out of the box.

What soapix handles for you

The parts of enterprise SOAP integration that usually break other clients.

Native Async Support

AsyncSoapClient mirrors the sync API with async/await, so soapix drops straight into async services and job queues.

Typed Code Generation

client.generate() produces a fully typed Python client class with @dataclass models and IDE autocomplete straight from the WSDL.

Minimalist Call Syntax

Operations are called as client.service.MethodName(...) with keyword arguments — no envelope building, no boilerplate.

Enterprise-Grade WSDL Tolerance

Namespace quirks, optional-field omissions, and loose validation are normalized automatically — built for legacy ERP and banking WSDLs, not just the spec-perfect ones.

Quick start

Install the package and call your first operation in under a minute.

Install
pip install soapix
Usage
from soapix import SoapClient

client = SoapClient("http://service.example.com/?wsdl")

# Explore and test operations in the browser — no extra tools needed
client.serve()

# Or call directly from code
result = client.service.GetUser(userId=123)
print(result["name"])
Async
import asyncio
from soapix import AsyncSoapClient

async def main():
    async with AsyncSoapClient("http://service.example.com/?wsdl") as client:
        result = await client.service.GetUser(userId=123)
        print(result["name"])

asyncio.run(main())

Need a complex SOAP/XML or legacy ERP & banking integration?

soapix is what we build our own integrations on. As the devark.cloud team, we take ownership of your enterprise integration project end to end — from the messy WSDL to a production-grade client.

Discuss Your Integration Project