SOAP 1.1 · SOAP 1.2 · WS-Security

SOAP Mock Server

Test enterprise integrations without connecting to production systems. Mock WSDL-based services, simulate SOAP faults, and validate XML payloads. Works offline, no dependencies.

Full SOAP Protocol Support

Everything you need to mock enterprise SOAP web services for development and testing.

WSDL-Based Mocking

Import WSDL files to automatically generate mock endpoints. Validates requests against schema definitions.

XML Request/Response

Full XML parsing and generation with namespace support. XPath-based request matching and response templating.

SOAP Fault Simulation

Simulate server faults, client faults, and custom error conditions. Test error handling in your applications.

WS-Security Support

Mock authentication with UsernameToken, X.509 certificates, and SAML assertions. Validate security headers.

Envelope Validation

Strict SOAP envelope validation against WSDL schemas. Catch malformed requests before they hit production.

Multiple SOAP Versions

Full support for SOAP 1.1 and SOAP 1.2 protocols. Handle both Content-Type and SOAPAction headers.

Simple Configuration

Define SOAP operations, XPath-based request matching, and XML response templates in a clean YAML format. Import WSDL files for automatic schema validation.

  • WSDL import: Auto-generate mocks from service definitions
  • XPath matching: Route requests based on XML content
  • Namespace support: Full XML namespace handling
  • Fault simulation: Test error handling with SOAP faults
soap-mock.yaml
# mockd.yaml - SOAP Mock Configuration
mocks:
  - id: soap-customer-service
    type: soap
    soap:
      path: /soap/customer
      wsdlFile: ./services/CustomerService.wsdl
      operations:
        GetCustomer:
          soapAction: "http://example.com/GetCustomer"
          match:
            xpath:
              "//cust:CustomerId": "12345"
          response: |
            <GetCustomerResponse
              xmlns="http://example.com/customer">
              <Customer>
                <Id>12345</Id>
                <Name>Alice Smith</Name>
                <Email>alice@example.com</Email>
                <CreatedAt>{{now}}</CreatedAt>
              </Customer>
            </GetCustomerResponse>
        CreateOrder:
          soapAction: "http://example.com/CreateOrder"
          response: |
            <CreateOrderResponse
              xmlns="http://example.com/orders">
              <OrderId>{{uuid}}</OrderId>
              <Status>CONFIRMED</Status>
              <Timestamp>{{now}}</Timestamp>
            </CreateOrderResponse>
        GetCustomerNotFound:
          soapAction: "http://example.com/GetCustomer"
          match:
            xpath:
              "//cust:CustomerId": "99999"
          fault:
            code: "soap:Client"
            message: "Customer not found"
            detail: "No customer with ID 99999"

Built for Enterprise Integration

From legacy mainframes to modern microservices. Mockd handles your SOAP testing needs.

Legacy System Integration

Test integrations with mainframes, ERP systems, and legacy web services without connecting to production.

Enterprise Service Testing

Mock complex enterprise service buses and SOA architectures for isolated development and testing.

B2B Integration Testing

Simulate partner APIs and EDI gateways. Test business-to-business workflows without external dependencies.

Mainframe/ERP Connectivity

Mock SAP, Oracle, and mainframe SOAP endpoints. Develop without costly backend access.

Why Mockd vs SoapUI?

SoapUI is powerful but heavy. Mockd gives you lightweight, CI/CD-friendly SOAP mocking without the complexity.

FeatureSoapUIMockd
WSDL import
Requires desktop app
CLI or config file
CI/CD integration
Complex setup
Single binary, easy automation
Resource usage
Heavy Java application
Lightweight Go binary
Response templating
Groovy scripting
Simple YAML templates
Version control
XML project files
Clean YAML configs
Pricing
Free tier limited
Open source, free forever

Start Mocking SOAP in Minutes

Single Go binary. No Java runtime. Import your WSDL and start testing.

# Start the mock server
mockd init && mockd up