liip/soap-recorder-bundle
A Symfony bundle that records SOAP requests and responses and replays them in your test suite, letting integration tests run against realistic SOAP traffic without calling live services. Useful for stable, repeatable PHPUnit tests.
Architecture fit
liip/soap-recorder-bundle ships a Symfony Bundle class, a DI extension, and XML/YAML service definitions. Laravel's container consumes none of these — no service provider, no auto-discovery, no Laravel config surface. The design (decorate the SoapClient, key a fixture by request hash, replay thereafter) is exactly what our test suite needs; the packaging is unusable as-is.\SoapClient transport boundary. That is a clean seam — but it is the bundle's seam, not ours. Laravel has no first-class SOAP abstraction, so our real seam is either a hand-rolled ext-soap wrapper or a third-party SDK's internal client. Any recorder must sit under that, which means writing our own decorator regardless.Integration feasibility
ext-soap underneath) but not productively integrable. Composer resolution against Laravel 10/11 will almost certainly fail on Symfony/PHP constraints, forcing --ignore-platform-reqs or a fork-and-patch — permanent tax on a test-only utility with a low ROI bar.Technical risk
[DEPRECATED], 12 stars, 0 dependents. No security patching, no PHP 8.x/ext-soap fixes, no handling of typed SOAP objects, fault responses, or WSDL drift.Key questions
Http::fake() if SOAP rides Guzzle) cover the need without touching SOAP at all?Stack fit
SoapClient decorator behind an interface we own; (3) this bundle — only if the application is Symfony 2/3, which it is not.record / replay / passthrough modes.Migration path
Compatibility
ext-soap becomes a hard CI dependency — verify it in every build image, including Paratest workers.Sequencing (TPM decision gates)
Maintenance
ext-soap bump re-opens the fork question. A small in-house recorder has lower total cost of ownership than a patched archive because the surface is small and ours.Support
Scaling
Failure modes
Ramp-up
TPM recommendation: Do not adopt as a dependency. Leverage it as (a) evidence in the build-vs-buy record, (b) a reference specification for the ~200–400 LOC decorator we own, and (c) the framing for a scoped spike — "deterministic SOAP fixture replay in N days." Publish the decision and the fixture-hygiene policy alongside the code so the archived-bundle question never gets re-litigated.
How can I help you explore Laravel packages today?