manoakys/nusoap-bundle
A Symfony bundle that wraps the NuSOAP library, letting you build SOAP servers and clients from your Symfony application with service configuration handled through the bundle rather than manual NuSOAP setup.
Architecture fit — poor. This is a Symfony2 bundle, not a Laravel package. It ships a Bundle class, a DI Extension, and XML/YAML service definitions that register NuSOAP client/server classes into the Symfony kernel. Laravel never loads any of that: there is no ServiceProvider, no publishable config, no facade, no package auto-discovery. composer require manoakys/nusoap-bundle in a Laravel app yields an inert dependency; you would instantiate NuSOAP by hand anyway, paying for an abstraction layer that contributes nothing in this stack.
Integration feasibility — low as a package, moderate as a raw library. The underlying NuSOAP code is plain PHP and will load inside Laravel. The bundle wrapper will not. Practically, any "leverage" here is "extract the library, discard the bundle."
Technical risk — high.
each()), triggers dynamic-property deprecations on 8.2, has no typed signatures, and is neither PSR-18 nor PSR-7. Compatibility with the PHP version your Laravel app targets must be verified empirically, not assumed.symfony/framework-bundle ^2.x will likely fail Composer resolution outright — a hard blocker before any code executes.Key questions to resolve before any decision:
ext-soap. If not, this package is unnecessary.nusoap/nusoap) that satisfies the same requirement with real release history?Stack fit: none for the bundle. Do not attempt to register it. Treat the repository as a source of the underlying library, not as an installable Laravel dependency.
Migration path (recommended):
ext-soap first. Native SoapClient plus a checked-in WSDL covers the large majority of enterprise SOAP integrations, is maintained by php-src, and carries no third-party risk. Wrap it in a small adapter class.ext-soap on), install a maintained NuSOAP fork directly — not this bundle.SoapGatewayInterface in your domain layer; bind the implementation in a ServiceProvider; expose config via config/soap.php. This is the Laravel-native equivalent of what the Symfony bundle was trying to do, and it makes the eventual exit a one-line binding change.app/Support/, strip the Symfony DI wiring, and accept that you now own the code.Compatibility: verify Composer resolution against your Laravel version first — the Symfony 2.x constraint is likely to conflict outright. Then verify PHP 8.x execution of every code path (WSDL parse, request build, response decode) with tests, not by inspection.
Sequencing: requirement capture → ext-soap spike (timeboxed) → fallback library selection → adapter + provider + config → contract tests against the counterparty's real endpoint → only then wire into business logic. Never let business logic import NuSOAP classes directly.
Maintenance — you inherit it. No upstream releases, no issue triage, no security response. Budget for fork-and-own: pin the exact commit, vendor it, and record it in your dependency-risk register with a named owner.
Support — none. No maintainer, no community, no documentation beyond the README. Every "how does this behave" question becomes source archaeology. Debugging cost lands entirely on your team.
Scaling. SOAP calls here are blocking I/O. NuSOAP is not async and does not integrate with Laravel's HTTP client, retry, or timeout abstractions — set timeouts explicitly or requests can hang worker processes. Push outbound calls into queued jobs so a slow or dead counterparty cannot exhaust web workers.
Failure modes to plan for:
Ramp-up. Low for the SOAP contract itself; high for anyone debugging library internals. Assume onboarding cost is "read the source," and document the adapter boundary so new engineers never need to touch it.
TPM recommendation: treat this as do-not-adopt in its published form. Zero stars and zero dependents on an abandoned Symfony2 wrapper is a clear signal. If the SOAP requirement is real, the defensible path is ext-soap first, a maintained NuSOAP fork second, isolated behind a Laravel ServiceProvider and an interface — with a documented exit to native SOAP as the standing plan.
How can I help you explore Laravel packages today?