php-soap/engine
A modern SOAP engine for PHP, offering a robust foundation for building SOAP clients and servers with WSDL handling, type mapping, and reliable interoperability for enterprise and legacy web services.
curl/DOMDocument SOAP glue or the aging, hard-to-test native SoapClient with a maintained, PSR-compatible engine — a small dependency instead of an internal maintenance burden.TypeCollection::findByNameAndXmlNamespace lets generated/typed models be resolved by XML QName rather than local name alone. This matters for real-world partner WSDLs where the same type name (Address, OrderLine, Header) appears under multiple namespaces — previously a source of ambiguous lookups and silent mis-mapping. It makes typed-client generation and dynamic dispatch on multi-namespace schemas more reliable, and is additive/non-breaking (2.20.0 → 2.21.0), so no migration cost to adopt.php-soap ecosystem) rather than treating it as a de-facto standard.Consider adopting when:
Look elsewhere when:
SoapClient (or php-soap/psr18-transport plus the wider php-soap suite) has far more field mileage; this package is a smaller, less-proven component.Adoption criteria to enforce: pin the version, add contract tests against recorded WSDL fixtures (including a multi-namespace fixture to exercise QName-based type lookup), wrap the engine behind your own thin interface so it can be swapped, and confirm the license (MIT) and maintenance cadence fit your dependency policy.
To executives: We have integration work blocked on SOAP-based partner systems. This library lets us connect to those services using our existing, well-understood HTTP and monitoring stack instead of bespoke plumbing — lower build cost, faster delivery, and less risk of one-off code that only one engineer understands. The latest release improves handling of partner schemas that reuse type names across namespaces, which is exactly the failure mode that causes subtle mapping bugs in multi-partner integrations. It's MIT-licensed and small, so the cost of trying it is low; the main caution is that it's a niche project (few stars), so we'll isolate it behind our own interface and keep an exit path. Net: cheaper, testable integrations without a strategic dependency on the vendor.
To engineering: php-soap/engine is a framework-agnostic SOAP engine: WSDL-driven operation discovery and invocation, SOAP 1.1/1.2, PSR-18 transport, and pluggable encoders/decoders/middleware. It cleanly separates transport from XML, so we mock the client in tests, reuse our existing retry/auth/logging middleware, and avoid the untestable native SoapClient path. 2.21.0 adds TypeCollection::findByNameAndXmlNamespace, letting us resolve types by QName — use it whenever partner WSDLs share local type names across namespaces instead of relying on ambiguous name-only lookups. Trade-offs: small community and a narrow, incremental release cadence, so we pin versions, wrap it in an internal adapter, and cover it with fixture-based contract tests. Recommended for new SOAP integrations and as the target for migrating legacy SOAP calls — not for cases where the vendor offers a REST alternative.
How can I help you explore Laravel packages today?